diff options
| author | Ahmed Yarub Hani Al Nuaimi <ahmedyarub@yahoo.com> | 2021-04-19 21:08:51 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-19 17:08:51 -0700 |
| commit | fe25e8ede8c21abec38e5af46ca85093fba18596 (patch) | |
| tree | 0c3abc8626c5e6847908ed7dc4ff41c0a0ee06d0 /ports/curl | |
| parent | f9bd4c8740f3f4e5261eb5df2aeefaff1f1571d0 (diff) | |
| download | vcpkg-fe25e8ede8c21abec38e5af46ca85093fba18596.tar.gz vcpkg-fe25e8ede8c21abec38e5af46ca85093fba18596.zip | |
[aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (#15725)
* Fix Android build
* Add versioning support
* Disable building tests for cURL
* Fix patch file
* Fix patch file
* Fix patch file
* Fix versioning
* Fix patch file
* [aws-sdk-cpp] Update patch
* update baseline
* Fix dependencies
* Simplify Android configuration
* Simplify Android configuration
* Simplify Android configuration
Add alternative Git CMake script
* Bump port version
* Bump version files
* Remove redundant file
* Bump port version
* Fix version files
* Do not build curl, zlib and OpenSSL
* Typo de pkgconfig script
* Fix cURL build for Android
* Add required flags
* Revert macro change
* Fix curl build for other platforms
* Fix curl build for other platforms
* [vcpkg baseline][gsoap] Update to 2.8.111
* Update versions
* [ktx/otl] Update download hash
* update version record
* Fix curl build for other platforms
* Update ports/aws-sdk-cpp/portfile.cmake
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* Update ports/aws-sdk-cpp/portfile.cmake
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* Remove FingGit
* Fix configuration step
* Bump cURL port version
* Bump cURL port version
* Bump AWS SDK C++ version
* Bump AWS SDK C++ version
* Bump AWS SDK C++ version
* Bump AWS SDK C++ version
* Update ports/curl/CONTROL
* Update ports/curl/portfile.cmake
* update baseline record
* Fix Git
* update version record
* Typo
* Fix cross-platform builds of OpenSSL on MinGW/Windows
* Update version
* Fix version
* update doc
* Update ports/aws-sdk-cpp/portfile.cmake
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Update ports/aws-sdk-cpp/portfile.cmake
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Add debug libraries to curl for Android
Simplify OpenSSL patch for curl
Update OpenSSL's port version
* Update aws-sdk-cpp, curl, and OpenSSL versions
* Fix libssh after latest update
* Update libssh version
* Update libssh version
* Update ports/libssh/portfile.cmake
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* Update ports/curl/portfile.cmake
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* Update ports/libssh/portfile.cmake
* Apply suggestions from code review
* Use correct variables for OpenSSL libraries when building curl for Android
Fix zlib building for Android
Remove redundant patch comments
* Bump zlib's port version
* Update zlib, libssh, and curl versions
* [vcpkg baseline][popsift] Fix vcpkg_find_cuda.cmake path
* update version record
* Update versions/o-/openssl.json
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Ahmed Yarub Hani Al Nuaimi <ahmed.alnuaimi@zwift.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Co-authored-by: NancyLi1013 <lirui09@beyondsoft.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'ports/curl')
| -rw-r--r-- | ports/curl/0009_fix_openssl_config.patch | 39 | ||||
| -rw-r--r-- | ports/curl/CONTROL | 4 | ||||
| -rw-r--r-- | ports/curl/CurlAndroidCrossCompile.cmake | 16 | ||||
| -rw-r--r-- | ports/curl/portfile.cmake | 48 |
4 files changed, 81 insertions, 26 deletions
diff --git a/ports/curl/0009_fix_openssl_config.patch b/ports/curl/0009_fix_openssl_config.patch index d7fc21643..45334a34d 100644 --- a/ports/curl/0009_fix_openssl_config.patch +++ b/ports/curl/0009_fix_openssl_config.patch @@ -1,12 +1,27 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5a13333..5a7ece0 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -361,6 +361,7 @@ if(CMAKE_USE_SECTRANSP)
- list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}")
- endif()
-
-+set(USE_OPENSSL OFF)
- if(CMAKE_USE_OPENSSL)
- find_package(OpenSSL REQUIRED)
- set(SSL_ENABLED ON)
+diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt (revision e052859759b34d0e05ce0f17244873e5cd7b457b) ++++ b/CMakeLists.txt (date 1617452756163) +@@ -383,14 +383,21 @@ + endif() + + if(CMAKE_USE_OPENSSL) +- find_package(OpenSSL REQUIRED) ++ if(ANDROID) ++ message(WARNING "Setting paths manually (instead of using pkg-config) since this is an android build" ) ++ ++ set(OPENSSL_LIBRARIES ${OPENSSL_LIBRARY} ${CRYPT_LIBRARY}) ++ include_directories("${OPENSSL_INCLUDE}") ++ else() ++ find_package(OpenSSL REQUIRED) ++ endif() + set(SSL_ENABLED ON) + set(USE_OPENSSL ON) + + # Depend on OpenSSL via imported targets if supported by the running + # version of CMake. This allows our dependents to get our dependencies + # transitively. +- if(NOT CMAKE_VERSION VERSION_LESS 3.4) ++ if(NOT CMAKE_VERSION VERSION_LESS 3.4 AND NOT ANDROID) + list(APPEND CURL_LIBS OpenSSL::SSL OpenSSL::Crypto) + else() + list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES}) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 1ab6325cd..009e54c78 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Port-Version: 3 +Port-Version: 4 Version: 7.74.0 Build-Depends: zlib Homepage: https://github.com/curl/curl @@ -56,4 +56,4 @@ Description: brotli support (brotli) Feature: idn2 Build-Depends: libidn2 -Description: idn2 support (libidn2)
\ No newline at end of file +Description: idn2 support (libidn2) diff --git a/ports/curl/CurlAndroidCrossCompile.cmake b/ports/curl/CurlAndroidCrossCompile.cmake new file mode 100644 index 000000000..43a5a1492 --- /dev/null +++ b/ports/curl/CurlAndroidCrossCompile.cmake @@ -0,0 +1,16 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0. +# + +SET( HAVE_GLIBC_STRERROR_R 1 CACHE STRING "Result from TRY_RUN" FORCE) +SET( HAVE_GLIBC_STRERROR_R__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE) +SET( HAVE_POSIX_STRERROR_R 0 CACHE STRING "Result from TRY_RUN" FORCE) +SET( HAVE_POSIX_STRERROR_R__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE) +SET( HAVE_POLL_FINE_EXITCODE 0 CACHE STRING "Result from TRY_RUN" FORCE ) +SET( HAVE_POLL_FINE_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE) +SET( CURL_HAS_H2_EXITCODE 0 CACHE STRING "Result from TRY_RUN" FORCE ) +SET( CURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE) +SET( CURL_HAS_TLS_PROXY_EXITCODE 0 CACHE STRING "Result from TRY_RUN" FORCE ) +SET( CURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE) +SET( OPENSSL_CRYPTO_LIBRARY crypto CACHE STRING "Set crypto" FORCE ) +SET( OPENSSL_SSL_LIBRARY ssl CACHE STRING "Set ssl" FORCE ) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 732bd2585..be66d452b 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -43,7 +43,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS schannel CMAKE_USE_SCHANNEL sectransp CMAKE_USE_SECTRANSP idn2 CMAKE_USE_IDN2 - + INVERTED_FEATURES non-http HTTP_ONLY ) @@ -64,11 +64,29 @@ if(VCPKG_TARGET_IS_UWP) ) endif() +if(VCPKG_TARGET_IS_ANDROID) + set(ADDITIONAL_SCRIPTS -C "${CMAKE_CURRENT_LIST_DIR}/CurlAndroidCrossCompile.cmake") + + set(EXTRA_ARGS -DOPENSSL_INCLUDE="${CURRENT_INSTALLED_DIR}/include") + + set(EXTRA_ARGS_DEBUG + -DOPENSSL_LIBRARY="${CURRENT_INSTALLED_DIR}/debug/lib/libssl.so" + -DCRYPT_LIBRARY="${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.so" + ) + + set(EXTRA_ARGS_RELEASE + -DOPENSSL_LIBRARY="${CURRENT_INSTALLED_DIR}/lib/libssl.so" + -DCRYPT_LIBRARY="${CURRENT_INSTALLED_DIR}/lib/libcrypto.so" + ) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS ${FEATURE_OPTIONS} ${UWP_OPTIONS} + ${ADDITIONAL_SCRIPTS} + ${EXTRA_ARGS} ${SECTRANSP_OPTIONS} -DBUILD_TESTING=OFF -DENABLE_MANUAL=OFF @@ -76,6 +94,10 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON -DENABLE_DEBUG=ON -DCURL_CA_FALLBACK=ON + OPTIONS_DEBUG + ${EXTRA_ARGS_DEBUG} + OPTIONS_RELEASE + ${EXTRA_ARGS_RELEASE} ) vcpkg_install_cmake() @@ -127,14 +149,14 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libssh2.lib" "-lssh2") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/cares.lib" "-lcares") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/brotlicommon.lib" "-lbrotlicommon") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/brotlidec.lib" "-lbrotlidec") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/brotlidec.lib" "-lbrotlidec") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/pthreadVC3d.lib" "-lpthreadVC3d") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc " ${CURRENT_INSTALLED_DIR}/lib/pthreadVC3.lib" "") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc " ${CURRENT_INSTALLED_DIR}/lib/pthreadVC3.lib" "") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc " -loptimized" "") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc " -ldebug" "") - + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc " -ldebug" "") + elseif(VCPKG_TARGET_IS_LINUX) - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "-lcurl" "-lcurl-d") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "-lcurl" "-lcurl-d") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a" "-lssl") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a" "-lcrypto") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libmbedtls.a" "-lmbedtls") @@ -142,7 +164,7 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libmbedcrypto.a" "-lmbedcrypto") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libnghttp2.a" "-lnghttp2") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libssh2.a" "-lssh2") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libcares.a" "-lcares") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libcares.a" "-lcares") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc "${CURRENT_INSTALLED_DIR}/debug/lib/libz.a" "-lz") endif() file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcurl.pc DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) @@ -162,11 +184,11 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libssh2.lib" "-lssh2") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/cares.lib" "-lcares") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/brotlicommon.lib" "-lbrotlicommon") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/brotlidec.lib" "-lbrotlidec") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/brotlidec.lib" "-lbrotlidec") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/pthreadVC3.lib" "-lpthreadVC3") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc " ${CURRENT_INSTALLED_DIR}/debug/lib/pthreadVC3d.lib" "") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc " ${CURRENT_INSTALLED_DIR}/debug/lib/pthreadVC3d.lib" "") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc " -loptimized" "") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc " -ldebug" "") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc " -ldebug" "") elseif(VCPKG_TARGET_IS_LINUX) #vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "-lcurl" "-lcurl") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libssl.a" "-lssl") @@ -176,15 +198,17 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libmbedcrypto.a" "-lmbedcrypto") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libnghttp2.a" "-lnghttp2") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libssh2.a" "-lssh2") - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libcares.a" "-lcares") + vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libcares.a" "-lcares") vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc "${CURRENT_INSTALLED_DIR}/lib/libz.a" "-lz") endif() file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcurl.pc DESTINATION ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) endif() -if(VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_fixup_pkgconfig() elseif(VCPKG_TARGET_IS_LINUX) vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread dl c) +elseif(VCPKG_TARGET_IS_ANDROID) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() file(INSTALL ${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) |
