aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Stammen <dalestam@microsoft.com>2018-05-31 10:04:01 -0700
committerRobert Schumacher <roschuma@microsoft.com>2018-05-31 10:04:01 -0700
commit8770a014ece92b6cdc800b5788d4885a0065b5e8 (patch)
tree579e0cc9f7af866e5307f4767dee985e564783e6
parent33ba0669661bfededfb14bdc0399f638076e5b59 (diff)
downloadvcpkg-8770a014ece92b6cdc800b5788d4885a0065b5e8.tar.gz
vcpkg-8770a014ece92b6cdc800b5788d4885a0065b5e8.zip
fixed UWP builds with RS4 SDK (#3348)
* fixed uwp builds with RS4 sdk * fixed check for RS4 * [openssl] Revert line ending conversion
-rw-r--r--ports/openssl/CONTROL2
-rw-r--r--ports/openssl/fix-uwp-rs4.patch26
-rw-r--r--ports/openssl/make-openssl.bat3
-rw-r--r--ports/openssl/portfile-uwp.cmake5
4 files changed, 34 insertions, 2 deletions
diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL
index fe7ea5c01..ed9ccf48b 100644
--- a/ports/openssl/CONTROL
+++ b/ports/openssl/CONTROL
@@ -1,3 +1,3 @@
Source: openssl
-Version: 1.0.2o-2
+Version: 1.0.2o-3
Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
diff --git a/ports/openssl/fix-uwp-rs4.patch b/ports/openssl/fix-uwp-rs4.patch
new file mode 100644
index 000000000..d5a33909e
--- /dev/null
+++ b/ports/openssl/fix-uwp-rs4.patch
@@ -0,0 +1,26 @@
+diff --git a/ms/winrtdef.h b/ms/winrtdef.h
+index b1a7598..6ba2e1d 100644
+--- a/ms/winrtdef.h
++++ b/ms/winrtdef.h
+@@ -6,9 +6,11 @@
+ #if defined(OPENSSL_WINAPP)
+ //Include stdio.h to replace fprintf
+ # include<stdio.h>
++#if !defined(NTDDI_VERSION) || (NTDDI_VERSION < NTDDI_WIN10_RS4)
+ # ifdef getenv
+ # undef getenv
+ # endif
++#endif
+ # ifdef setenv
+ # undef setenv
+ # endif
+@@ -32,7 +34,9 @@
+ # undef GetModuleHandle
+ # define GetModuleHandle winrt_GetModuleHandle
+ # endif
++#if !defined(NTDDI_WIN10_RS4) || (NTDDI_VERSION < NTDDI_WIN10_RS4)
+ # define getenv winrt_getenv
++#endif
+ # define setenv winrt_getenv
+
+ int winrt_GetTickCount(void);
diff --git a/ports/openssl/make-openssl.bat b/ports/openssl/make-openssl.bat
index 4f6488e8d..6f6166a24 100644
--- a/ports/openssl/make-openssl.bat
+++ b/ports/openssl/make-openssl.bat
@@ -4,6 +4,8 @@ perl Configure no-asm no-hw no-dso VC-WINUNIVERSAL -FS -FIWindows.h
for /D %%f in ("%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.FoundationContract\*") do set LibPath=%LibPath%;%%f\
for /D %%f in ("%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.UniversalApiContract\*") do set LibPath=%LibPath%;%%f\
+for /D %%f in ("%WindowsSdkDir%References\Windows.Foundation.FoundationContract\*") do set LibPath=%LibPath%;%%f\
+for /D %%f in ("%WindowsSdkDir%References\Windows.Foundation.UniversalApiContract\*") do set LibPath=%LibPath%;%%f\
call ms\do_winuniversal.bat
@@ -12,4 +14,3 @@ mkdir inc32\openssl
jom -j %NUMBER_OF_PROCESSORS% -k -f ms\ntdll.mak
REM due to a race condition in the build, we need to have a second single-threaded pass.
nmake -f ms\ntdll.mak
-
diff --git a/ports/openssl/portfile-uwp.cmake b/ports/openssl/portfile-uwp.cmake
index 0331e0f77..6aef52695 100644
--- a/ports/openssl/portfile-uwp.cmake
+++ b/ports/openssl/portfile-uwp.cmake
@@ -43,6 +43,11 @@ vcpkg_download_distfile(ARCHIVE
vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-uwp-rs4.patch
+)
+
file(REMOVE_RECURSE ${SOURCE_PATH}/tmp32dll)
file(REMOVE_RECURSE ${SOURCE_PATH}/out32dll)
file(REMOVE_RECURSE ${SOURCE_PATH}/inc32dll)