diff options
| author | atkawa7 <atkawa7@yahoo.com> | 2017-06-14 08:29:12 -0700 |
|---|---|---|
| committer | atkawa7 <atkawa7@yahoo.com> | 2017-06-14 08:29:12 -0700 |
| commit | ce5ad1ffe1ed0c6351a09b01bc92a2ad258b8f19 (patch) | |
| tree | b64edb2fe7d020661b3fe30213eef2a967a60fd3 /ports/openssl | |
| parent | 0a7fee0e8b0a637c83b9dd55bcb7a85c85779aba (diff) | |
| parent | c5ac9898999b712b7bac2fbc497825882d5e9011 (diff) | |
| download | vcpkg-ce5ad1ffe1ed0c6351a09b01bc92a2ad258b8f19.tar.gz vcpkg-ce5ad1ffe1ed0c6351a09b01bc92a2ad258b8f19.zip | |
Merge https://github.com/Microsoft/vcpkg
Diffstat (limited to 'ports/openssl')
| -rw-r--r-- | ports/openssl/CONTROL | 2 | ||||
| -rw-r--r-- | ports/openssl/fix-uwp-pathlib.patch | 13 | ||||
| -rw-r--r-- | ports/openssl/make-openssl.bat | 14 | ||||
| -rw-r--r-- | ports/openssl/portfile-uwp.cmake | 12 | ||||
| -rw-r--r-- | ports/openssl/portfile.cmake | 25 |
5 files changed, 57 insertions, 9 deletions
diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL index aaf7b17ab..fb5861cd4 100644 --- a/ports/openssl/CONTROL +++ b/ports/openssl/CONTROL @@ -1,3 +1,3 @@ Source: openssl -Version: 1.0.2k-3 +Version: 1.0.2k-5 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-pathlib.patch b/ports/openssl/fix-uwp-pathlib.patch new file mode 100644 index 000000000..17a1a4e10 --- /dev/null +++ b/ports/openssl/fix-uwp-pathlib.patch @@ -0,0 +1,13 @@ +diff --git "a/ms/setVSvars.bat" "b/ms/setVSvars.bat" +index e6ebc0a7..cde9afb2 100644 +--- "a/ms/setVSvars.bat" ++++ "b/ms/setVSvars.bat" +@@ -179,7 +179,7 @@ exit /b + call:setVar _VS14VC VisualStudio14VC + call:setVar _WKITS10 WindowsKits10.0 + set PATH=%_VS14VCBin%;%PATH% +- set "LIBPATH=%_WKITS10%UnionMetadata\Facade;%_VS14VC%vcpackages;%_WKITS10%references\windows.foundation.foundationcontract\1.0.0.0\;%_WKITS10%references\windows.foundation.universalapicontract\1.0.0.0\" ++ set "LIBPATH=%_WKITS10%UnionMetadata\Facade;%_VS14VC%vcpackages;%_WKITS10%references\windows.foundation.foundationcontract\2.0.0.0\;%_WKITS10%references\windows.foundation.universalapicontract\3.0.0.0\" + goto :eof + + :end diff --git a/ports/openssl/make-openssl.bat b/ports/openssl/make-openssl.bat index 4c038094d..6f0afdf74 100644 --- a/ports/openssl/make-openssl.bat +++ b/ports/openssl/make-openssl.bat @@ -1,10 +1,20 @@ set build=%1 -perl Configure no-asm no-hw no-dso VC-WINUNIVERSAL +perl Configure no-asm no-hw no-dso VC-WINUNIVERSAL -FS -FIWindows.h + +set LibPath=%LibPath%;%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.FoundationContract\3.0.0.0\ +set LibPath=%LibPath%;%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.FoundationContract\2.0.0.0\ +set LibPath=%LibPath%;%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.FoundationContract\1.0.0.0\ +set LibPath=%LibPath%;%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.UniversalApiContract\4.0.0.0\ +set LibPath=%LibPath%;%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.UniversalApiContract\3.0.0.0\ +set LibPath=%LibPath%;%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.UniversalApiContract\2.0.0.0\ +set LibPath=%LibPath%;%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.UniversalApiContract\1.0.0.0\ call ms\do_winuniversal.bat -call ms\setVSvars.bat universal10.0%build% +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 cf2f1e7ca..cc29c7e4d 100644 --- a/ports/openssl/portfile-uwp.cmake +++ b/ports/openssl/portfile-uwp.cmake @@ -7,7 +7,8 @@ # if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(FATAL_ERROR "Static building not supported yet") + set(VCPKG_LIBRARY_LINKAGE dynamic) + message("Static building not supported yet") endif() if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") @@ -29,8 +30,10 @@ include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-OpenSSL_1_0_2k_WinRT) vcpkg_find_acquire_program(PERL) +vcpkg_find_acquire_program(JOM) +get_filename_component(JOM_EXE_PATH ${JOM} DIRECTORY) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") +set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH};${JOM_EXE_PATH}") vcpkg_download_distfile(ARCHIVE URLS "https://github.com/Microsoft/openssl/archive/OpenSSL_1_0_2k_WinRT.zip" @@ -40,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-pathlib.patch +) + file(REMOVE_RECURSE ${SOURCE_PATH}/tmp32dll) file(REMOVE_RECURSE ${SOURCE_PATH}/out32dll) file(REMOVE_RECURSE ${SOURCE_PATH}/inc32dll) diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index 08cd4e04c..0dfd9aa88 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -13,6 +13,7 @@ find_program(NMAKE nmake) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) +vcpkg_find_acquire_program(JOM) set(ENV{PATH} "${PERL_EXE_PATH};${NASM_EXE_PATH};$ENV{PATH}") vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE @@ -60,7 +61,7 @@ set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl- set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR}) vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" + COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" -FS WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel ) @@ -69,10 +70,19 @@ vcpkg_execute_required_process( WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel ) +# Openssl's buildsystem has a race condition which will cause JOM to fail at some point. +# This is ok; we just do as much work as we can in parallel first, then follow up with a single-threaded build. +make_directory(${SOURCE_PATH_RELEASE}/inc32/openssl) +execute_process( + COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-out.log + ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log +) vcpkg_execute_required_process( COMMAND ${NMAKE} -f ${OPENSSL_MAKEFILE} install WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME build-${TARGET_TRIPLET}-rel) + LOGNAME build-${TARGET_TRIPLET}-rel-1) message(STATUS "Build ${TARGET_TRIPLET}-rel done") @@ -83,7 +93,7 @@ set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${ set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug) vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" + COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg ) @@ -92,10 +102,17 @@ vcpkg_execute_required_process( WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg ) +make_directory(${SOURCE_PATH_DEBUG}/inc32/openssl) +execute_process( + COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-out.log + ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log +) vcpkg_execute_required_process( COMMAND ${NMAKE} -f ${OPENSSL_MAKEFILE} install WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME build-${TARGET_TRIPLET}-dbg) + LOGNAME build-${TARGET_TRIPLET}-dbg-1) message(STATUS "Build ${TARGET_TRIPLET}-dbg done") |
