aboutsummaryrefslogtreecommitdiff
path: root/ports/openssl-unix
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2020-11-04 07:59:02 +0100
committerGitHub <noreply@github.com>2020-11-03 22:59:02 -0800
commit63dccf771d0bf84f8a1e111c8b53a4057d4c0a18 (patch)
treef0e840ea56fc2959d27dced9df9dda4202ef1c99 /ports/openssl-unix
parentc4c020828aa1b743707876ffaeb0dccf091e96f5 (diff)
downloadvcpkg-63dccf771d0bf84f8a1e111c8b53a4057d4c0a18.tar.gz
vcpkg-63dccf771d0bf84f8a1e111c8b53a4057d4c0a18.zip
[OpenSSL] refactor openssl ports. (#14308)
Diffstat (limited to 'ports/openssl-unix')
-rw-r--r--ports/openssl-unix/CMakeLists.txt183
-rw-r--r--ports/openssl-unix/CONTROL2
-rw-r--r--ports/openssl-unix/ConfigureIncludeQuotesFix.patch13
-rw-r--r--ports/openssl-unix/EmbedSymbolsInStaticLibsZ7.patch25
-rw-r--r--ports/openssl-unix/STRINGIFYPatch.patch23
-rw-r--r--ports/openssl-unix/portfile.cmake64
-rw-r--r--ports/openssl-unix/remove-deps.cmake7
-rw-r--r--ports/openssl-unix/usage4
-rw-r--r--ports/openssl-unix/vcpkg-cmake-wrapper.cmake18
9 files changed, 2 insertions, 337 deletions
diff --git a/ports/openssl-unix/CMakeLists.txt b/ports/openssl-unix/CMakeLists.txt
deleted file mode 100644
index 7e09222c9..000000000
--- a/ports/openssl-unix/CMakeLists.txt
+++ /dev/null
@@ -1,183 +0,0 @@
-cmake_minimum_required(VERSION 3.9)
-project(openssl C)
-
-if(NOT SOURCE_PATH)
- message(FATAL_ERROR "Requires SOURCE_PATH")
-endif()
-
-if(CMAKE_SYSTEM_NAME STREQUAL "Android" OR CMAKE_SYSTEM_NAME STREQUAL "Linux")
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- set(PLATFORM linux-x86_64)
- else()
- set(PLATFORM linux-generic32)
- endif()
-elseif(CMAKE_SYSTEM_NAME STREQUAL "iOS")
- if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64")
- set(PLATFORM ios64-xcrun)
- elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
- set(PLATFORM ios-xcrun)
- elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" OR
- VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
- set(PLATFORM iossimulator-xcrun)
- else()
- message(FATAL_ERROR "Unknown iOS target architecture: ${VCPKG_TARGET_ARCHITECTURE}")
- endif()
- # disable that makes linkage error (e.g. require stderr usage)
- list(APPEND DISABLES no-stdio no-ui no-asm)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- set(PLATFORM darwin64-x86_64-cc)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
- set(PLATFORM BSD-generic64)
-elseif(MINGW)
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- set(PLATFORM mingw64)
- else()
- set(PLATFORM mingw)
- endif()
-else()
- message(FATAL_ERROR "Unknown platform")
-endif()
-
-get_filename_component(COMPILER_ROOT "${CMAKE_C_COMPILER}" DIRECTORY)
-
-message("CMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
-message("COMPILER_ROOT=${COMPILER_ROOT}")
-message("CMAKE_SYSROOT=${CMAKE_SYSROOT}")
-message("CMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}")
-message("CMAKE_C_FLAGS=${CMAKE_C_FLAGS}")
-message("CMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}")
-message("CMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}")
-message("CMAKE_INCLUDE_SYSTEM_FLAG_C=${CMAKE_INCLUDE_SYSTEM_FLAG_C}")
-
-set(CFLAGS "${CMAKE_C_FLAGS}")
-if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- set(CFLAGS "-Wno-error=unused-command-line-argument ${CMAKE_C_FLAGS}")
-endif()
-if(CMAKE_C_COMPILER_TARGET AND CMAKE_C_COMPILE_OPTIONS_TARGET)
- set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_TARGET}${CMAKE_C_COMPILER_TARGET}")
-endif()
-if(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN AND CMAKE_C_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN)
- set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN}")
-endif()
-if(CMAKE_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT)
- set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}")
-elseif(CMAKE_OSX_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT)
- set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_OSX_SYSROOT}")
-endif()
-
-string(REGEX REPLACE "^ " "" CFLAGS "${CFLAGS}")
-
-if(CMAKE_HOST_WIN32)
- file(TO_NATIVE_PATH ENV_PATH "${COMPILER_ROOT};$ENV{PATH}")
-else()
- file(TO_NATIVE_PATH ENV_PATH "${COMPILER_ROOT}:$ENV{PATH}")
-endif()
-set(ENV{ANDROID_DEV} "${CMAKE_SYSROOT}/usr")
-set(ENV{CC} "${CMAKE_C_COMPILER}")
-
-message("ENV{ANDROID_DEV}=$ENV{ANDROID_DEV}")
-
-get_filename_component(SOURCE_PATH_NAME "${SOURCE_PATH}" NAME)
-set(BUILDDIR "${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_PATH_NAME}")
-
-if(NOT EXISTS "${BUILDDIR}")
- file(COPY ${SOURCE_PATH} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-endif()
-
-get_filename_component(MSYS_BIN_DIR "${MAKE}" DIRECTORY)
-
-if(BUILD_SHARED_LIBS)
- set(SHARED shared)
- file(STRINGS "${BUILDDIR}/include/openssl/opensslv.h" SHLIB_VERSION
- REGEX "^#[\t ]*define[\t ]+SHLIB_VERSION_NUMBER[\t ]+\".*\".*")
- string(REGEX REPLACE "^.*SHLIB_VERSION_NUMBER[\t ]+\"([^\"]*)\".*$" "\\1"
- SHLIB_VERSION "${SHLIB_VERSION}")
- if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS")
- set(LIB_EXT dylib)
- set(LIB_EXTS ${SHLIB_VERSION}.${LIB_EXT})
- elseif(MINGW)
- string(REPLACE "." "_" SHLIB_VERSION "${SHLIB_VERSION}")
- set(BIN_EXT dll)
- set(LIB_EXT dll.a)
- else()
- set(LIB_EXT so)
- set(LIB_EXTS ${LIB_EXT}.${SHLIB_VERSION})
- endif()
- list(APPEND BIN_EXTS ${BIN_EXT})
- list(APPEND LIB_EXTS ${LIB_EXT})
-else()
- set(SHARED no-shared)
- set(LIB_EXTS a)
-endif()
-foreach(lib ssl crypto)
- foreach(ext ${LIB_EXTS})
- list(APPEND INSTALL_LIBS "${BUILDDIR}/lib${lib}.${ext}")
- endforeach()
- foreach(ext ${BIN_EXTS})
- # This might be wrong for targets which don't follow this naming scheme, but I'm not aware of any
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- list(APPEND INSTALL_BINS "${BUILDDIR}/lib${lib}-${SHLIB_VERSION}-x64.${ext}")
- else()
- list(APPEND INSTALL_BINS "${BUILDDIR}/lib${lib}-${SHLIB_VERSION}.${ext}")
- endif()
- endforeach()
-endforeach()
-
-if(CMAKE_HOST_WIN32)
- set(ENV_COMMAND set)
- set(PATH_VAR ";%PATH%")
-else()
- set(ENV_COMMAND export)
- set(PATH_VAR ":$ENV{PATH}")
-endif()
-
-
-
-add_custom_command(
- OUTPUT "${BUILDDIR}/Makefile"
- COMMAND ${ENV_COMMAND} CC=${CMAKE_C_COMPILER}
- COMMAND ${ENV_COMMAND} AR=${CMAKE_AR}
- COMMAND ${ENV_COMMAND} LD=${CMAKE_LINKER}
- COMMAND ${ENV_COMMAND} RANLIB=${CMAKE_RANLIB}
- COMMAND ${ENV_COMMAND} MAKE=${MAKE}
- COMMAND ${ENV_COMMAND} MAKEDEPPROG=${CMAKE_C_COMPILER}
- COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}"
- COMMAND "${PERL}" Configure
- ${SHARED}
- enable-static-engine
- no-zlib
- no-ssl2
- no-idea
- no-bf
- no-cast
- no-seed
- no-md2
- no-tests
- ${DISABLES}
- ${PLATFORM}
- "--prefix=${CMAKE_INSTALL_PREFIX}"
- "--openssldir=/etc/ssl"
- ${CFLAGS}
- COMMAND "${CMAKE_COMMAND}" "-DDIR=${BUILDDIR}" -P "${CMAKE_CURRENT_LIST_DIR}/remove-deps.cmake"
- VERBATIM
- WORKING_DIRECTORY "${BUILDDIR}"
-)
-
-add_custom_target(build_libs ALL
- COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}"
- COMMAND "${CMAKE_COMMAND}" -E touch "${BUILDDIR}/krb5.h"
- COMMAND "${MAKE}" build_libs
- VERBATIM
- WORKING_DIRECTORY "${BUILDDIR}"
- DEPENDS "${BUILDDIR}/Makefile"
- BYPRODUCTS ${INSTALL_LIBS}
-)
-
-install(
- FILES ${INSTALL_LIBS}
- DESTINATION lib
-)
-install(
- FILES ${INSTALL_BINS}
- DESTINATION bin
-) \ No newline at end of file
diff --git a/ports/openssl-unix/CONTROL b/ports/openssl-unix/CONTROL
index 1961fa299..ba59ecbc5 100644
--- a/ports/openssl-unix/CONTROL
+++ b/ports/openssl-unix/CONTROL
@@ -1,4 +1,4 @@
Source: openssl-unix
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.
+Description: Deprecated OpenSSL port
Supports: !(windows|uwp)
diff --git a/ports/openssl-unix/ConfigureIncludeQuotesFix.patch b/ports/openssl-unix/ConfigureIncludeQuotesFix.patch
deleted file mode 100644
index 09494f565..000000000
--- a/ports/openssl-unix/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/ports/openssl-unix/EmbedSymbolsInStaticLibsZ7.patch b/ports/openssl-unix/EmbedSymbolsInStaticLibsZ7.patch
deleted file mode 100644
index 1a8de2c4b..000000000
--- a/ports/openssl-unix/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/ports/openssl-unix/STRINGIFYPatch.patch b/ports/openssl-unix/STRINGIFYPatch.patch
deleted file mode 100644
index dd8f9c297..000000000
--- a/ports/openssl-unix/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/ports/openssl-unix/portfile.cmake b/ports/openssl-unix/portfile.cmake
index 3f23dbe69..065116c27 100644
--- a/ports/openssl-unix/portfile.cmake
+++ b/ports/openssl-unix/portfile.cmake
@@ -1,63 +1 @@
-if (NOT VCPKG_TARGET_IS_MINGW)
- vcpkg_fail_port_install(MESSAGE "${PORT} is only for openssl on Unix-like systems" ON_TARGET "UWP" "Windows")
-endif()
-
-if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h")
- message(FATAL_ERROR "Can't build openssl if libressl/boringssl is installed. Please remove libressl/boringssl, and try install openssl again if you need it.")
-endif()
-
-
-vcpkg_find_acquire_program(PERL)
-
-set(OPENSSL_VERSION 1.1.1h)
-
-vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE
- 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 da50fd99325841ed7a4367d9251c771ce505a443a73b327d8a46b2c6a7d2ea99e43551a164efc86f8743b22c2bdb0020bf24a9cbd445e9d68868b2dc1d34033a
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH MASTER_COPY_SOURCE_PATH
- ARCHIVE ${OPENSSL_SOURCE_ARCHIVE}
- REF ${OPENSSL_VERSION}
-)
-
-if(CMAKE_HOST_WIN32)
- vcpkg_acquire_msys(MSYS_ROOT PACKAGES make perl)
- set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
- set(MAKE ${MSYS_ROOT}/usr/bin/make.exe)
- set(PERL ${MSYS_ROOT}/usr/bin/perl.exe)
-else()
- find_program(MAKE make)
- if(NOT MAKE)
- message(FATAL_ERROR "Could not find make. Please install it through your package manager.")
- endif()
-endif()
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}
- PREFER_NINJA
- OPTIONS
- -DSOURCE_PATH=${MASTER_COPY_SOURCE_PATH}
- -DPERL=${PERL}
- -DMAKE=${MAKE}
- OPTIONS_RELEASE
- -DINSTALL_HEADERS=ON
-)
-
-vcpkg_install_cmake()
-
-file(GLOB HEADERS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/include/openssl/*.h)
-set(RESOLVED_HEADERS)
-foreach(HEADER ${HEADERS})
- get_filename_component(X "${HEADER}" REALPATH)
- list(APPEND RESOLVED_HEADERS "${X}")
-endforeach()
-
-file(INSTALL ${RESOLVED_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/openssl)
-file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl)
-endif()
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/openssl-unix/remove-deps.cmake b/ports/openssl-unix/remove-deps.cmake
deleted file mode 100644
index a57c70fe9..000000000
--- a/ports/openssl-unix/remove-deps.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-file(GLOB_RECURSE MAKEFILES ${DIR}/*/Makefile)
-foreach(MAKEFILE ${MAKEFILES})
- message("removing deps from ${MAKEFILE}")
- file(READ "${MAKEFILE}" _contents)
- string(REGEX REPLACE "\n# DO NOT DELETE THIS LINE.*" "" _contents "${_contents}")
- file(WRITE "${MAKEFILE}" "${_contents}")
-endforeach()
diff --git a/ports/openssl-unix/usage b/ports/openssl-unix/usage
deleted file mode 100644
index f535cb6a4..000000000
--- a/ports/openssl-unix/usage
+++ /dev/null
@@ -1,4 +0,0 @@
-The package openssl is compatible with built-in CMake targets:
-
- find_package(OpenSSL REQUIRED)
- target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
diff --git a/ports/openssl-unix/vcpkg-cmake-wrapper.cmake b/ports/openssl-unix/vcpkg-cmake-wrapper.cmake
deleted file mode 100644
index 43e84cb02..000000000
--- a/ports/openssl-unix/vcpkg-cmake-wrapper.cmake
+++ /dev/null
@@ -1,18 +0,0 @@
-_find_package(${ARGS})
-if(OPENSSL_FOUND)
- find_library(OPENSSL_DL_LIBRARY NAMES dl)
- if(OPENSSL_DL_LIBRARY)
- list(APPEND OPENSSL_LIBRARIES "dl")
- if(TARGET OpenSSL::Crypto)
- set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dl")
- endif()
- endif()
- find_package(Threads REQUIRED)
- list(APPEND OPENSSL_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
- if(TARGET OpenSSL::Crypto)
- set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Threads::Threads")
- endif()
- if(TARGET OpenSSL::SSL)
- set_property(TARGET OpenSSL::SSL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Threads::Threads")
- endif()
-endif()