diff options
| author | Arkady Shapkin <arkady.shapkin@gmail.com> | 2017-05-24 02:22:17 +0300 |
|---|---|---|
| committer | Arkady Shapkin <arkady.shapkin@gmail.com> | 2017-05-29 12:54:39 +0300 |
| commit | 866dfad5ba1fbc344b51bfe7904cf38ba4a51816 (patch) | |
| tree | 2d0abf283c958d60928719abb6bf810099e315c6 | |
| parent | 1913f6602f785e902d8185f322a50748fffbeb67 (diff) | |
| download | vcpkg-866dfad5ba1fbc344b51bfe7904cf38ba4a51816.tar.gz vcpkg-866dfad5ba1fbc344b51bfe7904cf38ba4a51816.zip | |
[openssl] Support using asm code
| -rw-r--r-- | ports/openssl/portfile.cmake | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index 3b13c4660..08cd4e04c 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -6,16 +6,19 @@ endif() include(vcpkg_common_functions) set(OPENSSL_VERSION 1.0.2l) set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION}) + vcpkg_find_acquire_program(PERL) +vcpkg_find_acquire_program(NASM) find_program(NMAKE nmake) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -set(ENV{PATH} "${PERL_EXE_PATH};$ENV{PATH}") +get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) +set(ENV{PATH} "${PERL_EXE_PATH};${NASM_EXE_PATH};$ENV{PATH}") vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 047d964508ad6025c79caabd8965efd2416dc026a56183d0ef4de7a0a6769ce8e0b4608a3f8393d326f6d03b26a2b067e6e0c750f35b20be190e595e8290c0e3 + SHA512 047d964508ad6025c79caabd8965efd2416dc026a56183d0ef4de7a0a6769ce8e0b4608a3f8393d326f6d03b26a2b067e6e0c750f35b20be190e595e8290c0e3 ) vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE}) @@ -29,22 +32,28 @@ vcpkg_apply_patches( set(CONFIGURE_COMMAND ${PERL} Configure enable-static-engine enable-capieng - no-asm no-ssl2 ) if(TARGET_TRIPLET MATCHES "x86-windows") set(OPENSSL_ARCH VC-WIN32) - set(OPENSSL_DO "ms\\do_ms.bat") -elseif(TARGET_TRIPLET MATCHES "x64") + set(OPENSSL_DO "ms\\do_nasm.bat") +elseif(TARGET_TRIPLET MATCHES "x64-windows") set(OPENSSL_ARCH VC-WIN64A) set(OPENSSL_DO "ms\\do_win64a.bat") else() message(FATAL_ERROR "Unsupported target triplet: ${TARGET_TRIPLET}") endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(OPENSSL_MAKEFILE "ms\\ntdll.mak") +else() + set(OPENSSL_MAKEFILE "ms\\nt.mak") +endif() + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + message(STATUS "Build ${TARGET_TRIPLET}-rel") file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl-${OPENSSL_VERSION}) @@ -60,20 +69,14 @@ vcpkg_execute_required_process( WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel ) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_execute_required_process(COMMAND ${NMAKE} -f ms\\ntdll.mak install - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME build-${TARGET_TRIPLET}-rel) -else() - vcpkg_execute_required_process(COMMAND ${NMAKE} -f ms\\nt.mak install - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME build-${TARGET_TRIPLET}-rel) -endif() - +vcpkg_execute_required_process( + COMMAND ${NMAKE} -f ${OPENSSL_MAKEFILE} install + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME build-${TARGET_TRIPLET}-rel) message(STATUS "Build ${TARGET_TRIPLET}-rel done") + message(STATUS "Build ${TARGET_TRIPLET}-dbg") file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${OPENSSL_VERSION}) @@ -89,19 +92,14 @@ vcpkg_execute_required_process( WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg ) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_execute_required_process(COMMAND ${NMAKE} -f ms\\ntdll.mak install - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME build-${TARGET_TRIPLET}-dbg) -else() - vcpkg_execute_required_process(COMMAND ${NMAKE} -f ms\\nt.mak install - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME build-${TARGET_TRIPLET}-dbg) -endif() +vcpkg_execute_required_process( + COMMAND ${NMAKE} -f ${OPENSSL_MAKEFILE} install + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME build-${TARGET_TRIPLET}-dbg) message(STATUS "Build ${TARGET_TRIPLET}-dbg done") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe @@ -118,4 +116,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/) endif() -vcpkg_copy_pdbs()
\ No newline at end of file +vcpkg_copy_pdbs() |
