You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by an...@apache.org on 2017/12/19 23:09:13 UTC

mesos git commit: Windows: Updated cURL to version 7.57.0.

Repository: mesos
Updated Branches:
  refs/heads/master c222453e2 -> 884226e3b


Windows: Updated cURL to version 7.57.0.

The cURL source and build have improved significantly since we pulled in
the previous versoin (7.43.0). Most notably, the new version now
supports SChannel (native Windows crypto) on Windows, so we no longer
need to use OpenSSL. This benefits us two-fold: it fixes the issue where
OpenSSL on Windows does not come with a certificate bundle (and thus
caused any downloads over TLS to fail because the certificates couldn't
be checked), and means we can enable TLS support for anything that uses
cURL unconditionally, as it "just works".

Because we set `-DCMAKE_USE_WINSSL=ON` uncondtionally, we had to the
`crypt32` Windows library to the interface link libraries for `libcurl`.

Between the old and new versions, cURL changed some aspects of their
build system:

1. The Debug configuration now calls the executable `curl-d.exe`, so we
   had to updated its imported location and explicitly rename it to
   `curl.exe` in the copy step.

2. We continued to disable building the tests, but the option changed
   its name from `BUILD_CURL_TESTS` to `BUILD_TESTING`. This is now
   especially important because building the tests require Perl, which
   we definitely do not want to add.

3. We disabled LDAP because it didn't build without further
   setup (OpenLDAP), and we don't currently need it.

Review: https://reviews.apache.org/r/64720/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/884226e3
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/884226e3
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/884226e3

Branch: refs/heads/master
Commit: 884226e3b6f432a0f2148d0d0bee498995de662f
Parents: c222453
Author: Jeff Coffler <je...@taltos.com>
Authored: Tue Dec 19 14:44:50 2017 -0800
Committer: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Committed: Tue Dec 19 14:44:50 2017 -0800

----------------------------------------------------------------------
 3rdparty/CMakeLists.txt       | 15 ++++++++-------
 3rdparty/cmake/Versions.cmake |  4 ++--
 2 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/884226e3/3rdparty/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
index d9f52e2..579aed8 100644
--- a/3rdparty/CMakeLists.txt
+++ b/3rdparty/CMakeLists.txt
@@ -578,9 +578,9 @@ if (WIN32)
 
   set(CURL_CMAKE_ARGS
     ${CMAKE_FORWARD_ARGS}
-    ${CMAKE_SSL_FORWARD_ARGS}
-    -DBUILD_CURL_TESTS=OFF
-    -DCMAKE_USE_OPENSSL=${ENABLE_SSL})
+    -DCMAKE_USE_WINSSL=ON
+    -DCURL_DISABLE_LDAP=ON
+    -DBUILD_TESTING=OFF)
 
   # NOTE: cURL does not respect BUILD_SHARED_LIBS.
   if (NOT BUILD_SHARED_LIBS)
@@ -594,15 +594,16 @@ if (WIN32)
 
   set_target_properties(
     libcurl PROPERTIES
-    IMPORTED_LOCATION_DEBUG ${CURL_ROOT}-build/lib/Debug/libcurl${LIBRARY_SUFFIX}
+    IMPORTED_LOCATION_DEBUG ${CURL_ROOT}-build/lib/Debug/libcurl-d${LIBRARY_SUFFIX}
     IMPORTED_LOCATION_RELEASE ${CURL_ROOT}-build/lib/Release/libcurl${LIBRARY_SUFFIX}
     IMPORTED_IMPLIB_DEBUG ${CURL_ROOT}-build/lib/Debug/libcurl_imp${CMAKE_IMPORT_LIBRARY_SUFFIX}
     IMPORTED_IMPLIB_RELEASE ${CURL_ROOT}-build/lib/Release/libcurl_imp${CMAKE_IMPORT_LIBRARY_SUFFIX}
-    INTERFACE_INCLUDE_DIRECTORIES ${CURL_ROOT}/include)
+    INTERFACE_INCLUDE_DIRECTORIES ${CURL_ROOT}/include
+    INTERFACE_LINK_LIBRARIES crypt32)
 
   set_target_properties(
     curl PROPERTIES
-    IMPORTED_LOCATION_DEBUG ${CURL_ROOT}-build/src/Debug/curl.exe
+    IMPORTED_LOCATION_DEBUG ${CURL_ROOT}-build/src/Debug/curl-d.exe
     IMPORTED_LOCATION_RELEASE ${CURL_ROOT}-build/src/Release/curl.exe)
 
   MAKE_INCLUDE_DIR(libcurl)
@@ -623,7 +624,7 @@ if (WIN32)
   # `build/src`, next to the other produced executables. This is necessary for
   # code that shells out to cURL on Windows.
   add_custom_command(TARGET ${CURL_TARGET} POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:curl> ${CMAKE_BINARY_DIR}/src)
+    COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:curl> ${CMAKE_BINARY_DIR}/src/curl.exe)
 else ()
   find_package(CURL REQUIRED)
   add_library(libcurl SHARED IMPORTED)

http://git-wip-us.apache.org/repos/asf/mesos/blob/884226e3/3rdparty/cmake/Versions.cmake
----------------------------------------------------------------------
diff --git a/3rdparty/cmake/Versions.cmake b/3rdparty/cmake/Versions.cmake
index 13bd33d..ce6ecf5 100644
--- a/3rdparty/cmake/Versions.cmake
+++ b/3rdparty/cmake/Versions.cmake
@@ -2,8 +2,8 @@ set(BOOST_VERSION           "1.53.0")
 set(BOOST_HASH              "SHA256=CED7CE2ED8D7D34815AC9DB1D18D28FCD386FFBB3DE6DA45303E1CF193717038")
 set(CONCURRENTQUEUE_VERSION "7b69a8f")
 set(CONCURRENTQUEUE_HASH    "SHA256=B2741A1FB2172C2A829503A85D5EE7548BE7ED04236A3FD1EFD2B6088E065CB7")
-set(CURL_VERSION            "7.43.0")
-set(CURL_HASH               "SHA256=1A084DA1EDBFC3BD632861358B26AF45BA91AAADFB15D6482DE55748B8DFC693")
+set(CURL_VERSION            "7.57.0")
+set(CURL_HASH               "SHA256=7CE35F207562674E71DBADA6891B37E3F043C1E7A82915CB9C2A17AD3A9D659B")
 set(ELFIO_VERSION           "3.2")
 set(ELFIO_HASH              "SHA256=964BE1D401F98FA7A1242BCF048DF32B7D56DBAAAE5D02834900499073AC2E95")
 set(GOOGLETEST_VERSION      "1.8.0")