aboutsummaryrefslogtreecommitdiff
path: root/ports/openssl-windows
diff options
context:
space:
mode:
Diffstat (limited to 'ports/openssl-windows')
-rw-r--r--ports/openssl-windows/EnableWinARM32.patch21
-rw-r--r--ports/openssl-windows/portfile.cmake8
2 files changed, 29 insertions, 0 deletions
diff --git a/ports/openssl-windows/EnableWinARM32.patch b/ports/openssl-windows/EnableWinARM32.patch
new file mode 100644
index 000000000..f1eedcb71
--- /dev/null
+++ b/ports/openssl-windows/EnableWinARM32.patch
@@ -0,0 +1,21 @@
+diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl
+index dba96cba5e..7fd99959f1 100644
+--- a/util/pl/VC-32.pl
++++ b/util/pl/VC-32.pl
+@@ -261,6 +261,8 @@ if ($shlib && $FLAVOR !~ /CE/)
+ {
+ $mlflags.=" $lflags /dll";
+ $lib_cflag.=" -D_WINDLL";
++ if ($base_cflags !~ /-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE/)
++ {
+ #
+ # Engage Applink...
+ #
+@@ -286,6 +288,7 @@ ___
+ CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ)
+ ___
+ }
++ }
+ elsif ($shlib && $FLAVOR =~ /CE/)
+ {
+ $mlflags.=" $lflags /dll";
diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake
index d58d51431..f9a8bcbbf 100644
--- a/ports/openssl-windows/portfile.cmake
+++ b/ports/openssl-windows/portfile.cmake
@@ -22,6 +22,7 @@ vcpkg_apply_patches(
SOURCE_PATH ${MASTER_COPY_SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch
${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch
+ ${CMAKE_CURRENT_LIST_DIR}/EnableWinARM32.patch
${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch
)
@@ -44,6 +45,13 @@ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(OPENSSL_ARCH VC-WIN64A)
set(OPENSSL_DO "ms\\do_win64a.bat")
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(OPENSSL_ARCH VC-WIN32)
+ set(OPENSSL_DO "ms\\do_ms.bat")
+ set(CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
+ no-asm
+ -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
+ )
else()
message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}")
endif()