aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Lin <tony-lin@outlook.com>2019-04-10 07:46:42 +0000
committerTony Lin <tony-lin@outlook.com>2019-04-10 07:46:42 +0000
commit875f0afbc7a19fd7a12393090037e02ae2df9728 (patch)
tree41219c4c191f7258f6be14e3e9c75eb0d728bdba
parent8c3e093d0509fb0c7cc325692834fc1583a05390 (diff)
downloadvcpkg-875f0afbc7a19fd7a12393090037e02ae2df9728.tar.gz
vcpkg-875f0afbc7a19fd7a12393090037e02ae2df9728.zip
Enable openssl:arm64-windows
-rw-r--r--ports/openssl-windows/EnableWinARM64.patch16
-rw-r--r--ports/openssl-windows/portfile.cmake8
2 files changed, 24 insertions, 0 deletions
diff --git a/ports/openssl-windows/EnableWinARM64.patch b/ports/openssl-windows/EnableWinARM64.patch
new file mode 100644
index 000000000..9ec813a4e
--- /dev/null
+++ b/ports/openssl-windows/EnableWinARM64.patch
@@ -0,0 +1,16 @@
+diff --git a/Configure b/Configure
+index 36a7a66..b31543d 100644
+--- a/Configure
++++ b/Configure
+@@ -592,9 +592,9 @@ my %table=(
+ "debug-VC-WIN64A","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32",
+ # x86 Win32 target defaults to ANSI API, if you want UNICODE, complement
+ # 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE'
+-"VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
++"VC-WIN32","cl:-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
+ # Unified CE target
+-"debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
++"debug-VC-WIN32","cl:-W3 -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
+ "VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
+
+ # Borland C++ 4.5
diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake
index f329126d3..4331c2eab 100644
--- a/ports/openssl-windows/portfile.cmake
+++ b/ports/openssl-windows/portfile.cmake
@@ -25,6 +25,7 @@ vcpkg_apply_patches(
STRINGIFYPatch.patch
EnableWinARM32.patch
EmbedSymbolsInStaticLibsZ7.patch
+ EnableWinARM64.patch
)
vcpkg_find_acquire_program(NASM)
@@ -53,6 +54,13 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
no-asm
-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ 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()