aboutsummaryrefslogtreecommitdiff
path: root/ports/curl
diff options
context:
space:
mode:
authorAhmed Yarub Hani Al Nuaimi <ahmedyarub@yahoo.com>2021-04-19 21:08:51 -0300
committerGitHub <noreply@github.com>2021-04-19 17:08:51 -0700
commitfe25e8ede8c21abec38e5af46ca85093fba18596 (patch)
tree0c3abc8626c5e6847908ed7dc4ff41c0a0ee06d0 /ports/curl
parentf9bd4c8740f3f4e5261eb5df2aeefaff1f1571d0 (diff)
downloadvcpkg-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.patch39
-rw-r--r--ports/curl/CONTROL4
-rw-r--r--ports/curl/CurlAndroidCrossCompile.cmake16
-rw-r--r--ports/curl/portfile.cmake48
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})