diff --git a/port_versions/a-/aws-sdk-cpp.json b/port_versions/a-/aws-sdk-cpp.json index a8ac33f4b97fea..d706e4201af347 100644 --- a/port_versions/a-/aws-sdk-cpp.json +++ b/port_versions/a-/aws-sdk-cpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bfc729671845a82f9c592a234f0daeacdde8daea", + "version-string": "1.8.83", + "port-version": 5 + }, { "git-tree": "1474856fe6fdeb8feab5068959e189bc9f6c0327", "version-string": "1.8.83", diff --git a/port_versions/baseline.json b/port_versions/baseline.json index 250f6157cf862c..7d0292db2cbc23 100644 --- a/port_versions/baseline.json +++ b/port_versions/baseline.json @@ -234,7 +234,7 @@ }, "aws-sdk-cpp": { "baseline": "1.8.83", - "port-version": 4 + "port-version": 5 }, "azmq": { "baseline": "2020-03-03", diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 1b46d7d3664fb3..3a3b4b85652b4a 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,9 +1,9 @@ Source: aws-sdk-cpp Version: 1.8.83 -Port-Version: 4 +Port-Version: 5 Homepage: https://github.com/aws/aws-sdk-cpp Description: AWS SDK for C++ -Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream, zlib +Build-Depends: openssl (!uwp&!windows&!android), curl (!uwp&!windows&!android), aws-c-event-stream(!android), zlib(!android) Default-Features: dynamodb, s3, kinesis # Automatically generated by generateFeatures.ps1 diff --git a/ports/aws-sdk-cpp/allow-vcpkg-chaining.patch b/ports/aws-sdk-cpp/allow-vcpkg-chaining.patch new file mode 100644 index 00000000000000..3027fe0c7f915d --- /dev/null +++ b/ports/aws-sdk-cpp/allow-vcpkg-chaining.patch @@ -0,0 +1,91 @@ +diff --git a/cmake/build_external.cmake b/cmake/build_external.cmake +--- a/cmake/build_external.cmake (revision e98e5732ec7319051f162f7314ae361c85d0a8c9) ++++ b/cmake/build_external.cmake (date 1610744839203) +@@ -23,6 +23,11 @@ + #zlib + #based on http://stackoverflow.com/questions/16842218/how-to-use-cmake-externalproject-add-or-alternatives-in-a-cross-platform-way + #likely, some of the things here are unnecessary ++ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE) ++ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" ++ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}") ++ endif() ++ + ExternalProject_Add(ZLIB + SOURCE_DIR ${ZLIB_SOURCE_DIR} + URL https://sdk.amazonaws.com/cpp/builds/zlib-1.2.11.tar.gz +@@ -31,6 +36,7 @@ + CMAKE_ARGS + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION} ++ ${EXTRA_ARGS} + -DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL} + -DANDROID_ABI=${ANDROID_ABI} + -DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN} +@@ -70,6 +76,11 @@ + set(OPENSSL_INCLUDE_FLAGS "-isystem ${OPENSSL_INCLUDE_DIR} -isystem ${OPENSSL_INCLUDE_DIR}/openssl" CACHE INTERNAL "compiler flags to find openssl includes") + set(OPENSSL_LINKER_FLAGS "-L${OPENSSL_LIBRARY_DIR}" CACHE INTERNAL "linker flags to find openssl") + ++ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE) ++ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" ++ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}") ++ endif() ++ + ExternalProject_Add(OPENSSL + SOURCE_DIR ${OPENSSL_SOURCE_DIR} + GIT_REPOSITORY https://github.com/openssl/openssl.git +@@ -78,6 +89,7 @@ + PATCH_COMMAND cd ${CMAKE_BINARY_DIR} && python ${AWS_NATIVE_SDK_ROOT}/android-build/configure_openssl_cmake.py --source ${AWS_NATIVE_SDK_ROOT} --dest ${OPENSSL_SOURCE_DIR} + CMAKE_ARGS + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++ ${EXTRA_ARGS} + -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION} + -DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL} + -DANDROID_ABI=${ANDROID_ABI} +@@ -120,6 +132,11 @@ + set(CURL_USE_ZLIB "OFF") + endif() + ++ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE) ++ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" ++ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}") ++ endif() ++ + ExternalProject_Add(CURL + DEPENDS ${CURL_OPENSSL_DEPENDENCY} ${CURL_ZLIB_DEPENDENCY} + SOURCE_DIR ${CURL_SOURCE_DIR} +@@ -130,6 +147,7 @@ + CMAKE_ARGS + -C ${AWS_NATIVE_SDK_ROOT}/android-build/CurlAndroidCrossCompile.cmake + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++ ${EXTRA_ARGS} + -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION} + -DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL} + -DANDROID_ABI=${ANDROID_ABI} +@@ -146,7 +164,6 @@ + -DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} + -DCURL_STATICLIB=ON + -DBUILD_CURL_EXE=ON +- -DBUILD_CURL_TESTS=OFF + -DCURL_ZLIB=${CURL_USE_ZLIB} + ) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt (revision e98e5732ec7319051f162f7314ae361c85d0a8c9) ++++ b/CMakeLists.txt (date 1610744839158) +@@ -163,10 +163,16 @@ + endif() + file(MAKE_DIRECTORY ${AWS_DEPS_BUILD_DIR}) + if(TARGET_ARCH STREQUAL "ANDROID") ++ if (VCPKG_CHAINLOAD_TOOLCHAIN_FILE) ++ set(EXTRA_ARGS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" ++ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}") ++ endif() ++ + execute_process( + COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} + -DTARGET_ARCH=${TARGET_ARCH} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++ ${EXTRA_ARGS} + -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION} + -DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL} + -DANDROID_ABI=${ANDROID_ABI} diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index 26f7bb8afb4f6a..bd4487ad31a5f9 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( PATCHES patch-relocatable-rpath.patch fix-AWSSDKCONFIG.patch + allow-vcpkg-chaining.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT) @@ -19,14 +20,25 @@ include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake) if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) set(rpath "@loader_path") +elseif (VCPKG_TARGET_IS_ANDROID) + find_package(Git) + + set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID" + "-DGIT_EXECUTABLE=${GIT_EXECUTABLE}" + "-DGIT_FOUND=${GIT_FOUND}" + "-DGIT_VERSION_STRING=${GIT_VERSION_STRING}" + "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" + ) else() set(rpath "\$ORIGIN") endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS + ${EXTRA_ARGS} -DENABLE_UNITY_BUILD=ON -DENABLE_TESTING=OFF -DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}