From 6166c1509a2d137bac94fbf5bd65e888d4696aad Mon Sep 17 00:00:00 2001 From: Tony Lin Date: Wed, 10 Apr 2019 11:21:17 +0000 Subject: [PATCH] Enable pcre2:arm64-windows Update sljitConfigInternal.h for ARM64 --- ports/pcre2/fix-arm64-config.patch | 29 +++++++++++++++++++++++++++++ ports/pcre2/portfile.cmake | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 ports/pcre2/fix-arm64-config.patch diff --git a/ports/pcre2/fix-arm64-config.patch b/ports/pcre2/fix-arm64-config.patch new file mode 100644 index 0000000000..bba95718ae --- /dev/null +++ b/ports/pcre2/fix-arm64-config.patch @@ -0,0 +1,29 @@ +diff --git a/src/sljit/sljitConfigInternal.h b/src/sljit/sljitConfigInternal.h +index cc0810f..964afe8 100644 +--- a/src/sljit/sljitConfigInternal.h ++++ b/src/sljit/sljitConfigInternal.h +@@ -151,6 +151,8 @@ + #define SLJIT_CONFIG_X86_64 1 + #elif defined(_ARM_) + #define SLJIT_CONFIG_ARM_V5 1 ++#elif defined(_M_ARM64) ++#define SLJIT_CONFIG_ARM_64 1 + #else + #define SLJIT_CONFIG_X86_32 1 + #endif +@@ -324,9 +326,15 @@ + + #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") ++#define SLJIT_CACHE_FLUSH(from, to) \ ++ FlushInstructionCache(GetCurrentProcess(), (void*)(from), (uintptr_t)(to - from)); ++#endif + + #endif + diff --git a/ports/pcre2/portfile.cmake b/ports/pcre2/portfile.cmake index e2f5a702a1..82b9014d11 100644 --- a/ports/pcre2/portfile.cmake +++ b/ports/pcre2/portfile.cmake @@ -10,7 +10,7 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES fix-space.patch -) + fix-arm64-config.patch) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}