diff --git a/cmake/macros/ManuallyInstallOpenSSLForQt.cmake b/cmake/macros/ManuallyInstallOpenSSLForQt.cmake index eae0eaca58..baee173572 100644 --- a/cmake/macros/ManuallyInstallOpenSSLForQt.cmake +++ b/cmake/macros/ManuallyInstallOpenSSLForQt.cmake @@ -3,6 +3,7 @@ # # Created by Stephen Birarda on 1/15/16. # Copyright 2014 High Fidelity, Inc. +# Copyright 2020 Vircadia contributors. # # Distributed under the Apache License, Version 2.0. # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html @@ -19,13 +20,13 @@ macro(manually_install_openssl_for_qt) find_package(OpenSSL REQUIRED) install( - FILES "${VCPKG_INSTALL_ROOT}/bin/ssleay32.dll" + FILES "${VCPKG_INSTALL_ROOT}/bin/libcrypto-1_1-x64.dll" DESTINATION ${TARGET_INSTALL_DIR} COMPONENT ${TARGET_INSTALL_COMPONENT} ) install( - FILES "${VCPKG_INSTALL_ROOT}/bin/libeay32.dll" + FILES "${VCPKG_INSTALL_ROOT}/bin/libssl-1_1-x64.dll" DESTINATION ${TARGET_INSTALL_DIR} COMPONENT ${TARGET_INSTALL_COMPONENT} ) diff --git a/cmake/ports/openssl-windows/CONTROL b/cmake/ports/openssl-windows/CONTROL index 881c311d00..54ca58580d 100644 --- a/cmake/ports/openssl-windows/CONTROL +++ b/cmake/ports/openssl-windows/CONTROL @@ -1,3 +1,3 @@ Source: openssl-windows -Version: 1.0.2p-1 +Version: 1.1.1h 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/cmake/ports/openssl-windows/ConfigureIncludeQuotesFix.patch b/cmake/ports/openssl-windows/ConfigureIncludeQuotesFix.patch deleted file mode 100644 index 09494f5650..0000000000 --- a/cmake/ports/openssl-windows/ConfigureIncludeQuotesFix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Configure b/Configure -index c98107a..77ad9d3 100644 ---- a/Configure -+++ b/Configure -@@ -972,7 +972,7 @@ PROCESS_ARGS: - } - elsif (/^--with-zlib-include=(.*)$/) - { -- $withargs{"zlib-include"}="-I$1"; -+ $withargs{"zlib-include"}="-I\"$1\""; - } - elsif (/^--with-fipsdir=(.*)$/) - { diff --git a/cmake/ports/openssl-windows/EmbedSymbolsInStaticLibsZ7.patch b/cmake/ports/openssl-windows/EmbedSymbolsInStaticLibsZ7.patch deleted file mode 100644 index 1a8de2c4bd..0000000000 --- a/cmake/ports/openssl-windows/EmbedSymbolsInStaticLibsZ7.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl -index dba96cb..5722f6e 100644 ---- a/util/pl/VC-32.pl -+++ b/util/pl/VC-32.pl -@@ -154,9 +154,17 @@ else - $cflags=$opt_cflags.$base_cflags; - } - --# generate symbols.pdb unconditionally --$app_cflag.=" /Zi /Fd\$(TMP_D)/app"; --$lib_cflag.=" /Zi /Fd\$(TMP_D)/lib"; -+# generate symbols.pdb when building dlls and embed symbols when building static libs -+if ($shlib) -+ { -+ $app_cflag.=" /Zi /Fd\$(TMP_D)/app.pdb"; -+ $lib_cflag.=" /Zi /Fd\$(TMP_D)/lib.pdb"; -+ } -+else -+ { -+ $app_cflag.=" /Z7"; -+ $lib_cflag.=" /Z7"; -+ } - $lflags.=" /debug"; - - $obj='.obj'; diff --git a/cmake/ports/openssl-windows/STRINGIFYPatch.patch b/cmake/ports/openssl-windows/STRINGIFYPatch.patch deleted file mode 100644 index dd8f9c2972..0000000000 --- a/cmake/ports/openssl-windows/STRINGIFYPatch.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/crypto/cversion.c b/crypto/cversion.c -index bfff699..17b7912 100644 ---- a/crypto/cversion.c -+++ b/crypto/cversion.c -@@ -56,6 +56,9 @@ - * [including the GNU Public Licence.] - */ - -+#define STRINGIFY2(x) #x -+#define STRINGIFY(x) STRINGIFY2(x) -+ - #include "cryptlib.h" - - #ifndef NO_WINDOWS_BRAINDEATH -@@ -79,7 +82,7 @@ const char *SSLeay_version(int t) - } - if (t == SSLEAY_CFLAGS) { - #ifdef CFLAGS -- return (CFLAGS); -+ return STRINGIFY(CFLAGS); - #else - return ("compiler: information not available"); - #endif diff --git a/cmake/ports/openssl-windows/portfile.cmake b/cmake/ports/openssl-windows/portfile.cmake index d58d51431e..edf826b4eb 100644 --- a/cmake/ports/openssl-windows/portfile.cmake +++ b/cmake/ports/openssl-windows/portfile.cmake @@ -3,7 +3,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME) endif() include(vcpkg_common_functions) -set(OPENSSL_VERSION 1.0.2p) +set(OPENSSL_VERSION 1.1.1h) set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION}) vcpkg_find_acquire_program(PERL) @@ -12,18 +12,12 @@ get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_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" + URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 958c5a7c3324bbdc8f07dfb13e11329d9a1b4452c07cf41fbd2d42b5fe29c95679332a3476d24c2dc2b88be16e4a24744aba675a05a388c0905756c77a8a2f16 + SHA512 da50fd99325841ed7a4367d9251c771ce505a443a73b327d8a46b2c6a7d2ea99e43551a164efc86f8743b22c2bdb0020bf24a9cbd445e9d68868b2dc1d34033a ) vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${MASTER_COPY_SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch - ${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch - ${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch -) vcpkg_find_acquire_program(NASM) get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) @@ -40,39 +34,26 @@ set(CONFIGURE_COMMAND ${PERL} Configure if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(OPENSSL_ARCH VC-WIN32) - set(OPENSSL_DO "ms\\do_nasm.bat") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(OPENSSL_ARCH VC-WIN64A) - set(OPENSSL_DO "ms\\do_win64a.bat") else() message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") 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) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + message(STATUS "Configure ${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}) set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR}) - message(STATUS "Configure ${TARGET_TRIPLET}-rel") vcpkg_execute_required_process( 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 ) - vcpkg_execute_required_process( - COMMAND ${OPENSSL_DO} - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel - ) message(STATUS "Configure ${TARGET_TRIPLET}-rel done") message(STATUS "Build ${TARGET_TRIPLET}-rel") @@ -80,16 +61,16 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") # 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} + COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} 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 + COMMAND nmake install WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME build-${TARGET_TRIPLET}-rel-1) - + LOGNAME build-${TARGET_TRIPLET}-rel-1 + ) message(STATUS "Build ${TARGET_TRIPLET}-rel done") endif() @@ -101,39 +82,46 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug) vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS + COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} --debug "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg ) - vcpkg_execute_required_process( - COMMAND ${OPENSSL_DO} - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg - ) message(STATUS "Configure ${TARGET_TRIPLET}-dbg done") message(STATUS "Build ${TARGET_TRIPLET}-dbg") make_directory(${SOURCE_PATH_DEBUG}/inc32/openssl) execute_process( - COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} + COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} 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 + COMMAND nmake install WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME build-${TARGET_TRIPLET}-dbg-1) - + LOGNAME build-${TARGET_TRIPLET}-dbg-1 + ) message(STATUS "Build ${TARGET_TRIPLET}-dbg done") endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/certs) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/engines-1_1) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/private) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/certs) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/engines-1_1) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/private) file(REMOVE - ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe - ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf ${CURRENT_PACKAGES_DIR}/openssl.cnf + ${CURRENT_PACKAGES_DIR}/openssl.cnf.dist + ${CURRENT_PACKAGES_DIR}/ct_log_list.cnf + ${CURRENT_PACKAGES_DIR}/ct_log_list.cnf.dist + ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf + ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf.dist + ${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf + ${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf.dist + ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe ) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openssl/) @@ -147,14 +135,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/) endif() -file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" _contents) -string(REPLACE "" "" _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" "${_contents}") - -file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" _contents) -string(REPLACE "# include " "#ifndef _WINSOCKAPI_\n#define _WINSOCKAPI_\n#endif\n# include " _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" "${_contents}") - vcpkg_copy_pdbs() file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})