aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArkady Shapkin <arkady.shapkin@gmail.com>2017-05-24 02:22:17 +0300
committerArkady Shapkin <arkady.shapkin@gmail.com>2017-05-29 12:54:39 +0300
commit866dfad5ba1fbc344b51bfe7904cf38ba4a51816 (patch)
tree2d0abf283c958d60928719abb6bf810099e315c6
parent1913f6602f785e902d8185f322a50748fffbeb67 (diff)
downloadvcpkg-866dfad5ba1fbc344b51bfe7904cf38ba4a51816.tar.gz
vcpkg-866dfad5ba1fbc344b51bfe7904cf38ba4a51816.zip
[openssl] Support using asm code
-rw-r--r--ports/openssl/portfile.cmake52
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()