aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrdowns <grdowns@microsoft.com>2019-04-10 19:43:33 -0700
committergrdowns <grdowns@microsoft.com>2019-04-10 19:43:33 -0700
commit2e44aa9631e68ec8e36d2f0f63a267c6becfd378 (patch)
tree46cab909c2052e7eac3a906f814426a8350d3be8
parentb7b5470397a56ac19f6b6e71360efb2ad02fb890 (diff)
parent6166c1509a2d137bac94fbf5bd65e888d4696aad (diff)
downloadvcpkg-2e44aa9631e68ec8e36d2f0f63a267c6becfd378.tar.gz
vcpkg-2e44aa9631e68ec8e36d2f0f63a267c6becfd378.zip
Merge branch 'pcre2-arm64' of https://github.com/tony979/vcpkg into dev/grdowns/6033
-rw-r--r--ports/pcre2/fix-arm64-config.patch29
-rw-r--r--ports/pcre2/portfile.cmake2
2 files changed, 30 insertions, 1 deletions
diff --git a/ports/pcre2/fix-arm64-config.patch b/ports/pcre2/fix-arm64-config.patch
new file mode 100644
index 000000000..bba95718a
--- /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 e2f5a702a..82b9014d1 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}