aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhmed Yarub Hani Al Nuaimi <ahmedyarub@yahoo.com>2021-05-26 18:03:32 -0300
committerGitHub <noreply@github.com>2021-05-26 14:03:32 -0700
commitf519430b0f96b6654a0f8b341089585403ab47fd (patch)
tree6a729a157e003abf767cca2578b33bf6ef8ebf9b
parent37a5a94f486e6c1576b418bcbd36fc8bfb31c0b0 (diff)
downloadvcpkg-f519430b0f96b6654a0f8b341089585403ab47fd.tar.gz
vcpkg-f519430b0f96b6654a0f8b341089585403ab47fd.zip
[openssl] [aws-c-common] Fix AWS SDK for C++ build on WASM32 and Android (#17348)
* Add curl try_compile parameters Don't set compiler when compiling for iOS * Update OpenSSL and AWS SDK for C++ port versions * [vcpkg baseline][marble] Disable find I18n * update version record * Fix AWS C Common build for WASM32 * Fix OpenSSL build for WASM32 * Update AWS C Common and OpenSSL versions * Update versions/a-/aws-sdk-cpp.json * Update versions/o-/openssl.json * Fix port-versions after merging master branch * Fix port-versions after merging master branch * Update versions/o-/openssl.json * Update versions/a-/aws-sdk-cpp.json * Update versions/o-/openssl.json * Fix merge conflicts * Fix merge conflicts * Update ports/aws-c-common/portfile.cmake Co-authored-by: Robert Schumacher <roschuma@microsoft.com> * Update versions/a-/aws-c-common.json * Update versions/o-/openssl.json * Update versions/o-/openssl.json * Update versions/o-/openssl.json * Update ports/openssl/CONTROL * Merge master branch and resolve merge conflicts * Disable -moutline-atomics in Android also * Revert line ending change * Fix version info Co-authored-by: Ahmed Yarub Hani Al Nuaimi <ahmed.alnuaimi@zwift.com> Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
-rw-r--r--ports/aws-c-common/CONTROL5
-rw-r--r--ports/aws-c-common/disable_outline_atomics.patch18
-rw-r--r--ports/aws-c-common/portfile.cmake3
-rw-r--r--ports/aws-sdk-cpp/portfile.cmake6
-rw-r--r--ports/aws-sdk-cpp/vcpkg.json2
-rw-r--r--ports/openssl/unix/CMakeLists.txt497
-rw-r--r--ports/openssl/vcpkg.json2
-rw-r--r--versions/a-/aws-c-common.json5
-rw-r--r--versions/a-/aws-sdk-cpp.json5
-rw-r--r--versions/baseline.json6
-rw-r--r--versions/o-/openssl.json5
11 files changed, 327 insertions, 227 deletions
diff --git a/ports/aws-c-common/CONTROL b/ports/aws-c-common/CONTROL
index 2439c0c65..030d99ee5 100644
--- a/ports/aws-c-common/CONTROL
+++ b/ports/aws-c-common/CONTROL
@@ -1,5 +1,6 @@
-Source: aws-c-common
+Source: aws-c-common
Version: 0.4.56
+Port-Version: 1
Homepage: https://github.com/awslabs/aws-c-common
-Description: AWS common library for C
+Description: AWS common library for C
Supports: !(arm|uwp) \ No newline at end of file
diff --git a/ports/aws-c-common/disable_outline_atomics.patch b/ports/aws-c-common/disable_outline_atomics.patch
new file mode 100644
index 000000000..b3c9e109f
--- /dev/null
+++ b/ports/aws-c-common/disable_outline_atomics.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake
+--- a/cmake/AwsCFlags.cmake (revision 4a21a1c0757083a16497fea27886f5f20ccdf334)
++++ b/cmake/AwsCFlags.cmake (date 1618758078727)
+@@ -70,9 +70,11 @@
+
+ # -moutline-atomics generates code for both older load/store exclusive atomics and also
+ # Arm's Large System Extensions (LSE) which scale substantially better on large core count systems
+- check_c_compiler_flag(-moutline-atomics HAS_MOUTLINE_ATOMICS)
+- if (HAS_MOUTLINE_ATOMICS)
+- list(APPEND AWS_C_FLAGS -moutline-atomics)
++ if(NOT EMSCRIPTEN AND NOT ANDROID)
++ check_c_compiler_flag(-moutline-atomics HAS_MOUTLINE_ATOMICS)
++ if (HAS_MOUTLINE_ATOMICS)
++ list(APPEND AWS_C_FLAGS -moutline-atomics)
++ endif()
+ endif()
+ endif()
+
diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake
index f3704ef05..12efebc87 100644
--- a/ports/aws-c-common/portfile.cmake
+++ b/ports/aws-c-common/portfile.cmake
@@ -1,13 +1,14 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO awslabs/aws-c-common
- REF 4a21a1c0757083a16497fea27886f5f20ccdf334 # v0.4.56
+ REF 4a21a1c0757083a16497fea27886f5f20ccdf334 # v0.4.56
SHA512 68898a8ac15d5490f45676eabfbe0df9e45370a74c543a28909fd0d85fed48dfcf4bcd6ea2d01d1a036dd352e2e4e0b08c48c63ab2a2b477fe150b46a827136e
HEAD_REF master
PATCHES
disable-error-4068.patch # This patch fixes dependency port compilation failure
disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow
fix-cmake-target-path.patch # Shared libraries and static libraries are not built at the same time
+ disable_outline_atomics.patch # Disables -moutline-atomics flag which is not supported for wasm32 and Android
)
vcpkg_configure_cmake(
diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake
index e2edfda14..2ef408d7a 100644
--- a/ports/aws-sdk-cpp/portfile.cmake
+++ b/ports/aws-sdk-cpp/portfile.cmake
@@ -20,6 +20,12 @@ include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake)
set(EXTRA_ARGS)
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
set(rpath "@loader_path")
+ set(EXTRA_ARGS
+ "-DCURL_HAS_H2_EXITCODE=0"
+ "-DCURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT=\"\""
+ "-DCURL_HAS_TLS_PROXY_EXITCODE=0"
+ "-DCURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT=\"\""
+ )
elseif (VCPKG_TARGET_IS_ANDROID)
set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID"
"-DGIT_EXECUTABLE=--invalid-git-executable--"
diff --git a/ports/aws-sdk-cpp/vcpkg.json b/ports/aws-sdk-cpp/vcpkg.json
index 02bb0315a..2ebe3c89f 100644
--- a/ports/aws-sdk-cpp/vcpkg.json
+++ b/ports/aws-sdk-cpp/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "aws-sdk-cpp",
"version": "1.8.126",
- "port-version": 8,
+ "port-version": 9,
"description": "AWS SDK for C++",
"homepage": "https://github.com/aws/aws-sdk-cpp",
"dependencies": [
diff --git a/ports/openssl/unix/CMakeLists.txt b/ports/openssl/unix/CMakeLists.txt
index d5fe3e1f4..2c0fdcee6 100644
--- a/ports/openssl/unix/CMakeLists.txt
+++ b/ports/openssl/unix/CMakeLists.txt
@@ -1,219 +1,278 @@
-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")
- if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64")
- set(PLATFORM darwin64-arm64-cc)
- else()
- set(PLATFORM darwin64-x86_64-cc)
- endif()
-elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
- set(PLATFORM BSD-generic64)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
- 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_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
-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}")
-message("CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG=${CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG}")
-
-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()
-if (CMAKE_OSX_DEPLOYMENT_TARGET AND CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG)
- set(CFLAGS "${CFLAGS} ${CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG}${CMAKE_OSX_DEPLOYMENT_TARGET}")
-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}")
- list(APPEND INSTALL_PKG_CONFIGS "${BUILDDIR}/lib${lib}.pc")
- 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}" -j ${VCPKG_CONCURRENCY} build_libs
- VERBATIM
- WORKING_DIRECTORY "${BUILDDIR}"
- DEPENDS "${BUILDDIR}/Makefile"
- BYPRODUCTS ${INSTALL_LIBS}
-)
-
-if((CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS") AND BUILD_SHARED_LIBS)
- if(DEFINED CMAKE_INSTALL_NAME_DIR)
- set(ID_PREFIX "${CMAKE_INSTALL_NAME_DIR}")
- else()
- set(ID_PREFIX "@rpath")
- endif()
-
- add_custom_command(
- TARGET build_libs
- COMMAND /usr/bin/install_name_tool -id "${ID_PREFIX}/libssl.${SHLIB_VERSION}.dylib"
- "${BUILDDIR}/libssl.${SHLIB_VERSION}.dylib"
- COMMAND /usr/bin/install_name_tool -id "${ID_PREFIX}/libcrypto.${SHLIB_VERSION}.dylib"
- "${BUILDDIR}/libcrypto.1.1.dylib"
- COMMAND /usr/bin/install_name_tool -change "${CMAKE_INSTALL_PREFIX}/lib/libcrypto.${SHLIB_VERSION}.dylib"
- "${ID_PREFIX}/libcrypto.${SHLIB_VERSION}.dylib"
- "${BUILDDIR}/libssl.${SHLIB_VERSION}.dylib"
- VERBATIM
- )
-endif()
-
-install(
- FILES ${INSTALL_LIBS}
- DESTINATION lib
-)
-install(
- FILES ${INSTALL_BINS}
- DESTINATION bin
-)
-install(
- FILES ${INSTALL_PKG_CONFIGS}
- DESTINATION lib/pkgconfig
-)
+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")
+ if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64")
+ set(PLATFORM darwin64-arm64-cc)
+ else()
+ set(PLATFORM darwin64-x86_64-cc)
+ endif()
+elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ set(PLATFORM BSD-generic64)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
+ set(PLATFORM BSD-generic64)
+elseif(MINGW)
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ set(PLATFORM mingw64)
+ else()
+ set(PLATFORM mingw)
+ endif()
+elseif(EMSCRIPTEN)
+ set(MAKE $ENV{EMSDK}/upstream/emscripten/emmake)
+ set(ENV{MAKE} $ENV{EMSDK}/upstream/emscripten/emmake)
+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_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
+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}")
+message("CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG=${CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG}")
+
+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()
+if (CMAKE_OSX_DEPLOYMENT_TARGET AND CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG)
+ set(CFLAGS "${CFLAGS} ${CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG}${CMAKE_OSX_DEPLOYMENT_TARGET}")
+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")
+
+if(NOT IOS)
+ set(ENV{CC} "${CMAKE_C_COMPILER}")
+endif()
+
+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}")
+ list(APPEND INSTALL_PKG_CONFIGS "${BUILDDIR}/lib${lib}.pc")
+ 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()
+
+if(IOS)
+ add_custom_command(
+ OUTPUT "${BUILDDIR}/Makefile"
+ COMMAND "${PERL}" Configure
+ ${SHARED}
+ ${DISABLES}
+ ${PLATFORM}
+ "--prefix=${CMAKE_INSTALL_PREFIX}"
+ "--openssldir=/etc/ssl"
+ COMMAND "${CMAKE_COMMAND}" "-DDIR=${BUILDDIR}" -P "${CMAKE_CURRENT_LIST_DIR}/remove-deps.cmake"
+ VERBATIM
+ WORKING_DIRECTORY "${BUILDDIR}"
+ )
+elseif(EMSCRIPTEN)
+ 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 "$ENV{EMSDK}/upstream/emscripten/emconfigure" ./config
+ ${SHARED}
+ threads
+ no-engine
+ no-dso
+ no-asm
+ no-shared
+ no-sse2
+ no-srtp
+ ${DISABLES}
+ "--prefix=${CMAKE_INSTALL_PREFIX}"
+ "--openssldir=/etc/ssl"
+ "--cross-compile-prefix=\"/\""
+ COMMAND "${CMAKE_COMMAND}" "-DDIR=${BUILDDIR}" -P "${CMAKE_CURRENT_LIST_DIR}/remove-deps.cmake"
+ VERBATIM
+ WORKING_DIRECTORY "${BUILDDIR}"
+ )
+else()
+ 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}"
+ )
+endif()
+
+if(EMSCRIPTEN)
+ 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}" make build_libs
+ COMMAND "${MAKE}" make -j ${VCPKG_CONCURRENCY} build_libs
+ VERBATIM
+ WORKING_DIRECTORY "${BUILDDIR}"
+ DEPENDS "${BUILDDIR}/Makefile"
+ BYPRODUCTS ${INSTALL_LIBS}
+ )
+else()
+ 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}" -j ${VCPKG_CONCURRENCY} build_libs
+ VERBATIM
+ WORKING_DIRECTORY "${BUILDDIR}"
+ DEPENDS "${BUILDDIR}/Makefile"
+ BYPRODUCTS ${INSTALL_LIBS}
+ )
+endif()
+
+if((CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS") AND BUILD_SHARED_LIBS)
+ if(DEFINED CMAKE_INSTALL_NAME_DIR)
+ set(ID_PREFIX "${CMAKE_INSTALL_NAME_DIR}")
+ else()
+ set(ID_PREFIX "@rpath")
+ endif()
+
+ add_custom_command(
+ TARGET build_libs
+ COMMAND /usr/bin/install_name_tool -id "${ID_PREFIX}/libssl.${SHLIB_VERSION}.dylib"
+ "${BUILDDIR}/libssl.${SHLIB_VERSION}.dylib"
+ COMMAND /usr/bin/install_name_tool -id "${ID_PREFIX}/libcrypto.${SHLIB_VERSION}.dylib"
+ "${BUILDDIR}/libcrypto.1.1.dylib"
+ COMMAND /usr/bin/install_name_tool -change "${CMAKE_INSTALL_PREFIX}/lib/libcrypto.${SHLIB_VERSION}.dylib"
+ "${ID_PREFIX}/libcrypto.${SHLIB_VERSION}.dylib"
+ "${BUILDDIR}/libssl.${SHLIB_VERSION}.dylib"
+ VERBATIM
+ )
+endif()
+
+install(
+ FILES ${INSTALL_LIBS}
+ DESTINATION lib
+)
+install(
+ FILES ${INSTALL_BINS}
+ DESTINATION bin
+)
+install(
+ FILES ${INSTALL_PKG_CONFIGS}
+ DESTINATION lib/pkgconfig
+)
diff --git a/ports/openssl/vcpkg.json b/ports/openssl/vcpkg.json
index 612b38a05..462e3b6cb 100644
--- a/ports/openssl/vcpkg.json
+++ b/ports/openssl/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "openssl",
"version-string": "1.1.1k",
- "port-version": 1,
+ "port-version": 2,
"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.",
"homepage": "https://www.openssl.org"
}
diff --git a/versions/a-/aws-c-common.json b/versions/a-/aws-c-common.json
index 84a58aa97..a7d7bf26b 100644
--- a/versions/a-/aws-c-common.json
+++ b/versions/a-/aws-c-common.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "afa3b695905711c9699c03d94a77f222396e3346",
+ "version-string": "0.4.56",
+ "port-version": 1
+ },
+ {
"git-tree": "3b58ff9b212a0910118c979470d7e53925d1b705",
"version-string": "0.4.56",
"port-version": 0
diff --git a/versions/a-/aws-sdk-cpp.json b/versions/a-/aws-sdk-cpp.json
index 87305608d..0f18d4fe1 100644
--- a/versions/a-/aws-sdk-cpp.json
+++ b/versions/a-/aws-sdk-cpp.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "c23d66191b235f6f388187395b62f38b8e6e35f5",
+ "version": "1.8.126",
+ "port-version": 9
+ },
+ {
"git-tree": "e1cf5cdb2c16125d532b8281d6901839f11a25f5",
"version": "1.8.126",
"port-version": 8
diff --git a/versions/baseline.json b/versions/baseline.json
index 5613c49bf..26750f255 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -226,7 +226,7 @@
},
"aws-c-common": {
"baseline": "0.4.56",
- "port-version": 0
+ "port-version": 1
},
"aws-c-event-stream": {
"baseline": "0.1.6",
@@ -242,7 +242,7 @@
},
"aws-sdk-cpp": {
"baseline": "1.8.126",
- "port-version": 8
+ "port-version": 9
},
"azmq": {
"baseline": "2020-03-03",
@@ -4558,7 +4558,7 @@
},
"openssl": {
"baseline": "1.1.1k",
- "port-version": 1
+ "port-version": 2
},
"openssl-unix": {
"baseline": "1.1.1h",
diff --git a/versions/o-/openssl.json b/versions/o-/openssl.json
index c0771f1a5..5e5641dac 100644
--- a/versions/o-/openssl.json
+++ b/versions/o-/openssl.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "dcaa59e72471884bf333486e49be386dd4a3da4f",
+ "version-string": "1.1.1k",
+ "port-version": 2
+ },
+ {
"git-tree": "24a9f866c10144f3dcce1b8972d43170cfad3201",
"version-string": "1.1.1k",
"port-version": 1