mirror of
https://github.com/cemu-project/vcpkg.git
synced 2024-11-24 11:49:41 +00:00
Fix pcre arm uwp build
This commit is contained in:
parent
dfaa7a831c
commit
b1104ad7e5
54
ports/pcre/fix-arm-config-define.patch
Normal file
54
ports/pcre/fix-arm-config-define.patch
Normal file
@ -0,0 +1,54 @@
|
||||
diff --git a/sljit/sljitConfigInternal.h b/sljit/sljitConfigInternal.h
|
||||
index 4dc452f..5a9827d 100644
|
||||
--- "a/sljit/sljitConfigInternal.h"
|
||||
+++ "b/sljit/sljitConfigInternal.h"
|
||||
@@ -149,7 +149,7 @@
|
||||
|
||||
#if defined(_M_X64) || defined(__x86_64__)
|
||||
#define SLJIT_CONFIG_X86_64 1
|
||||
-#elif defined(_ARM_)
|
||||
+#elif defined(_M_ARM)
|
||||
#define SLJIT_CONFIG_ARM_V5 1
|
||||
#else
|
||||
#define SLJIT_CONFIG_X86_32 1
|
||||
@@ -332,9 +332,16 @@
|
||||
|
||||
#else
|
||||
|
||||
+#if defined(__linux__)
|
||||
/* Calls __ARM_NR_cacheflush on ARM-Linux. */
|
||||
#define SLJIT_CACHE_FLUSH(from, to) \
|
||||
__clear_cache((char*)(from), (char*)(to))
|
||||
+#elif(_WIN32)
|
||||
+#pragma comment(lib, "kernel32.lib")
|
||||
+uint32_t FlushInstructionCache(void *hProcess, void *lpBaseAddress, uintptr_t dwSize);
|
||||
+#define SLJIT_CACHE_FLUSH(from, to) \
|
||||
+ FlushInstructionCache(GetCurrentProcess(), (void*)(from), (uintptr_t)(to - from));
|
||||
+#endif
|
||||
|
||||
#endif
|
||||
|
||||
diff --git "a/sljit/sljitNativeARM_32.c" "b/sljit/sljitNativeARM_32.c"
|
||||
index a756f82..86bdcbb 100644
|
||||
--- "a/sljit/sljitNativeARM_32.c"
|
||||
+++ "b/sljit/sljitNativeARM_32.c"
|
||||
@@ -1798,7 +1798,8 @@ extern "C" {
|
||||
extern unsigned int __aeabi_uidivmod(unsigned int numerator, unsigned int denominator);
|
||||
extern int __aeabi_idivmod(int numerator, int denominator);
|
||||
#else
|
||||
-#error "Software divmod functions are needed"
|
||||
+extern unsigned int __aeabi_uidivmod(unsigned int numerator, unsigned int denominator);
|
||||
+extern int __aeabi_idivmod(int numerator, int denominator);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -1852,7 +1853,8 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compile
|
||||
FAIL_IF(sljit_emit_ijump(compiler, SLJIT_FAST_CALL, SLJIT_IMM,
|
||||
((op | 0x2) == SLJIT_DIV_UW ? SLJIT_FUNC_OFFSET(__aeabi_uidivmod) : SLJIT_FUNC_OFFSET(__aeabi_idivmod))));
|
||||
#else
|
||||
-#error "Software divmod functions are needed"
|
||||
+ FAIL_IF(sljit_emit_ijump(compiler, SLJIT_FAST_CALL, SLJIT_IMM,
|
||||
+ ((op | 0x2) == SLJIT_DIV_UW ? SLJIT_FUNC_OFFSET(__aeabi_uidivmod) : SLJIT_FUNC_OFFSET(__aeabi_idivmod))));
|
||||
#endif
|
||||
|
||||
if ((op >= SLJIT_DIV_UW) && (compiler->scratches >= 3)) {
|
@ -2,12 +2,23 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 42451ad..858a34b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -191,7 +191,7 @@ IF (MINGW)
|
||||
@@ -74,7 +74,6 @@ PROJECT(PCRE C CXX)
|
||||
# CMP0026 to avoid warnings for the use of LOCATION in GET_TARGET_PROPERTY.
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
|
||||
-CMAKE_POLICY(SET CMP0026 OLD)
|
||||
|
||||
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # for FindReadline.cmake
|
||||
|
||||
@@ -191,9 +190,8 @@ IF (MINGW)
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(MSVC)
|
||||
- OPTION(PCRE_STATIC_RUNTIME OFF CACHE BOOL
|
||||
+ OPTION(PCRE_STATIC_RUNTIME
|
||||
"ON=Compile against the static runtime (/MT)."
|
||||
OFF)
|
||||
- "ON=Compile against the static runtime (/MT)."
|
||||
- OFF)
|
||||
+ add_definitions(/wd4703)
|
||||
+ OPTION(PCRE_STATIC_RUNTIME "ON=Compile against the static runtime (/MT)." OFF)
|
||||
OPTION(INSTALL_MSVC_PDB
|
||||
"ON=Install .pdb files built by MSVC, if generated"
|
||||
OFF)
|
||||
|
@ -18,7 +18,8 @@ vcpkg_download_distfile(ARCHIVE
|
||||
vcpkg_extract_source_archive(${ARCHIVE})
|
||||
|
||||
vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
|
||||
PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-option.patch)
|
||||
PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-option.patch
|
||||
${CMAKE_CURRENT_LIST_DIR}/fix-arm-config-define.patch)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
|
Loading…
Reference in New Issue
Block a user