Commit Graph

134 Commits

Author SHA1 Message Date
Gregor Jasny 01b6ecdb41 curl: Do not use libnetwork on Apple platforms
Starting with OS X 10.11 there is a library called libnetwork
which will be picked up during curl configuration.
This breaks backward compatibility of the resulting binaries
because libnetwork is not available on older OS X versions.
2015-09-10 11:25:42 -04:00
Brad King 4071a74707 curl: Update README-CMake.txt for new snapshot 2015-08-17 10:17:51 -04:00
Brad King 7727d485d3 curl: Update configuration of build within CMake
Update our curl build option settings as needed for CMake to account for
differences in curl options from 7.38 to 7.44.
2015-08-17 10:17:51 -04:00
Brad King 3f2f1a949c curl: Fix check for gethostbyname_r with 5 arguments
Fix the check code to pass 5 arguments instead of 6.  This typo was
introduced in curl 7.39 but was not noticed because the result of
this check is used only if ENABLE_IPV6 is OFF.
2015-08-17 10:17:50 -04:00
Brad King 91e8d35ab8 Merge branch 'curl-upstream' into update-curl
Resolve conflicts by taking upstream side when possible and otherwise
integrating the changes from both sides.  Be carful in CMakeLists.txt
where the OPENSSL code block that we modified previously has moved, and
preserve our previous modifications in the new location.
2015-08-12 15:43:52 -04:00
Brad King 4a2ff2b7f2 curl: Never consider using Windows APIs on Cygwin
Our Windows API header checks are conditioned on if(NOT UNIX) but
libarchive checks HAVE_WINDOWS_H anyway so the result leaks into
the cache and influenes the curl build.  Set the check results to
false explicitly for curl when not on Windows to tolerate this.

Reported-by: Vyacheslav Karpukhin <Vyacheslav.Karpukhin@jetbrains.com>
2015-03-26 14:04:39 -04:00
Brad King 1337576b24 Merge topic 'curl-default-cainfo'
0abd3e53 cmake: Use a default CA path when not using system curl
6ce346c5 curl: Add CURL_CA_PATH option to CMake build process
2015-01-26 09:51:50 -05:00
Brad King 29ef8fb5be Merge topic 'update-curl'
53df9bce curl: Add README-CMake.txt
2015-01-23 10:50:24 -05:00
Brad King 6ce346c53c curl: Add CURL_CA_PATH option to CMake build process
Move CMAKE_USE_OPENSSL and CURL_CA_BUNDLE up to the top of CMake so that
CMake's own sources can know their values.  Add the CURL_CA_PATH option
at the top and honor it as part of the curl build.
2015-01-23 08:23:52 -05:00
Brad King 53df9bce19 curl: Add README-CMake.txt
Describe how to update curl from upstream.
2015-01-22 10:00:04 -05:00
Brad King e4563257ba curl: Use OS X SSL/TLS native implementation
On OS X, when CMAKE_USE_OPENSSL is OFF, use the OS implementation.
This will allow the OS-configured CA list to be trusted automatically.

This is supported on OS X 10.6 and above using AppleClang, Clang, and
GNU compilers.
2014-12-18 09:44:19 -05:00
Brad King ba8c663219 curl: Use Windows SSL/TLS native implementation
On Windows, when CMAKE_USE_OPENSSL is OFF, use the OS implementation.
This will allow the OS-configured CA list to be trusted automatically.
2014-12-12 13:52:46 -05:00
Brad King 46bbf94783 curl: Check for OpenSSL headers independently
Use check_include_file instead of check_include_file_concat to look
for OpenSSL headers.  They do not need to participate in a sequence
of dependent system headers.  Also they may cause winsock.h to be
included before ws2tcpip.h, causing the latter to not be detected
in the sequence.
2014-11-17 09:52:49 -05:00
Brad King 3dd26463d4 curl: Disable warnings to avoid changing 3rd party code
Tell MSVC to use its lowest warning level inside curl sources.
2014-11-11 08:58:01 -05:00
Brad King a427ed0cb8 curl: Skip sanity check that triggers Clang warning
Defining curl APIs as forwarding macros triggers Clang warnings
with -Wdisabled-macro-expansion.   Skip this sanity check.
2014-11-10 10:13:39 -05:00
Brad King 17b24d552b curl: Disable warnings to avoid changing 3rd party code 2014-11-10 10:13:38 -05:00
Brad King 4c3bd34080 curl: Skip check for inet_pton on Windows
Re-apply part of the logic from commit v2.8.0~802 (ENH: allow for shared
build of libcurl ..., 2009-04-10) to skip inet_pton on Windows.  On
versions of Windows prior to Vista the function is not available at
runtime.
2014-11-10 10:13:38 -05:00
Brad King 54cb23c657 curl: Restore installation of OpenSSL DLLs
Restore logic originally added by commit v2.8.10~119^2~1 (curl: Make
OpenSSL DLLs available to CMake on Windows, 2012-09-06).
2014-11-10 10:13:38 -05:00
Brad King c50f032754 curl: Restore CURL_CA_BUNDLE option
Restore the option added by commit v2.8.8~200^2 (Add CURL_CA_BUNDLE
option for SSL support, 2012-02-09).
2014-11-10 10:13:38 -05:00
Brad King 681693c993 curl: Restore CMake-specific zlib selection code 2014-11-10 10:13:38 -05:00
Brad King 10d80b68e4 curl: Restore CMake-specific test and install code
Restore the LIBCURL test used previously within CMake.  Restore
installation of the 'COPYING' file with the CMake documentation.
2014-11-10 10:13:38 -05:00
Brad King 1959304295 curl: Configure build to work within CMake
Set curl build options as needed for CMake rather than presenting them
to the user in the cache.  Drop the CMAKE_BUILD_CURL_SHARED option for
now.

Change the curl library name to 'cmcurl'.  Disable blocks of code within
curl CMakeLists.txt files that we do not need for CMake, but leave the
code in place to make merging with curl updates easier.
2014-11-10 10:13:37 -05:00
Brad King cf54aebb96 curl: Fix curl.h inclusion of curlbuild.h from CMake sources
Use a CMake-specific path to this configured header so that it works
when included from a CMake source file in addition to curl sources.
We do not install the Curl headers with CMake, so this hack is okay.
2014-11-10 10:13:37 -05:00
Brad King c17e3207fb curl: Use arch-aware CHECK_TYPE_SIZE results
Re-apply the logic change made by commit v2.8.2~536 (Use arch-aware
CHECK_TYPE_SIZE result, 2009-12-17).  The size of some types must be
selected at preprocessing time when building for multiple archs on OS X.
2014-11-10 10:13:37 -05:00
Brad King 1f7cb7e27b curl: Fix detection of headers with dependencies
Restore the check_include_file_concat functionality broken
in upstream curl.  The <net/if.h> header on older OS X versions
depends on <sys/socket.h> begin included first, for example.
2014-11-10 10:13:37 -05:00
Brad King b18c904412 curl: Drop inclusion of .rc file for static lib
The resource file is only needed for the curl .dll, so skip it when
building the static library.  This avoids the need to add the
'/machine:' link flag on MS tools for creating a static library.
2014-11-10 10:11:26 -05:00
Brad King 860f0a2ddc curl: Select file APIs on Windows
Choose small or large file support based on capabilities of compiler
and target platform.
2014-11-10 10:00:45 -05:00
Brad King 5a3b55ed7c curl: Do not use 'dl' on HP-UX
Re-apply the logic change made by commit v2.8.0~1427 (fix warning on
HPUX, 2008-11-26).
2014-11-10 10:00:45 -05:00
Brad King 5924270273 curl: Simplify if() conditions on check result variables
Remove use of an old hack that takes advantage of the auto-dereference
behavior of the if() command to detect if a variable is defined.  The
hack has the form:

 if("${VAR} MATCHES "^${VAR}$")

where "${VAR}" is a macro argument reference.  Use if(DEFINED) instead.
This also avoids warnings for CMake Policy CMP0054.
2014-10-30 11:11:49 -04:00
Brad King 8d311a813c curl: Remove outdated Haiku preprocessor checks
Re-apply change from commit v3.0.0-rc1~541^2~1 (Haiku: Remove outdated
preprocessor checks, 2013-10-05) on updated upstream curl.
2014-10-29 16:43:49 -04:00
Brad King 4063f26b65 curl: Port to Haiku again
Re-apply change from commit v2.8.0~1683 (add initial support for HAIKU
OS, 2008-09-15) on updated upstream curl.  However, leave out the part
that was reverted by commit v3.0.0-rc1~541^2~1 (Haiku: Remove outdated
preprocessor checks, 2013-10-05).
2014-10-29 16:43:45 -04:00
Brad King 53b8df596f curl: Drop '-DEV' from version since this is a curl release
We imported curl from an upstream release, so report the corresponding
release version to servers.  This is consistent with the version we
presented when our builtin curl was 7.16.1.
2014-10-29 16:43:41 -04:00
Brad King 392a318862 curl: Fix spelling errors reported by Lintian
Re-apply change from commit v2.8.3~265^2~1 (Fix spelling errors
reported by Lintian, 2010-07-02) on updated upstream curl.
2014-10-29 16:43:37 -04:00
Brad King 1107eb3df8 curl: Fix warnings on 64-bit Mac OS X build
Re-apply change from commit v2.6.0~921 (Fix warnings on 64-bit Mac OS X
build, 2007-11-05) on updated upstream curl.
2014-10-29 16:43:32 -04:00
Brad King 6db59302d0 curl: Remove unused SIZEOF_LONG_DOUBLE
Re-apply change from commit v2.8.2~537 (cmcurl: Remove unused
SIZEOF_LONG_DOUBLE, 2009-12-17) on updated upstream curl.
2014-10-29 16:43:27 -04:00
Brad King 80c881f793 Merge branch 'curl-upstream' into update-curl
Resolve all conflicts in favor of the upstream side.
We can re-apply specific changes later.
2014-10-29 16:43:21 -04:00
Brad King ff67d2b579 curl: Drop our CMake infrastructure to make room for the upstream
Remove our curl CMake build files since upstream now provides some.
After merging the upstream versions we may then port them to build
inside CMake and take code from our old build files as needed.
2014-10-29 16:42:10 -04:00
Brad King 661fa7c917 curl: Drop unused testing code
Remove our "Testing/" directory renames of the upstream examples.
2014-10-29 16:41:14 -04:00
Brad King 9cf069f88b curl: Move sources back into upstream layout
Update our build files as needed to compensate.
2014-10-29 16:41:10 -04:00
Brad King 15c994ebdc curl: Disable all whitespace checks in third-party code
Add a .gitattributes file to tell Git to skip whitespace checks
in the curl source code.
2014-10-29 16:41:05 -04:00
Stephen Kelly 2db55ffa56 Remove borland workarounds.
CMake 3.0 is the last release to require to be able to build with
Borland.
2014-10-15 23:16:44 +02:00
Brad King 425acc522f cmcurl: Use if(DEFINED) to simplify conditions
Replace old hacks of the form 'if("${VAR}" MATCHES "^${VAR}$")'
with the much simpler 'if(NOT DEFINED ${VAR})'.
2014-09-11 21:23:24 +02:00
Brad King 96f2a2a2ed Merge topic 'compile-with-cray'
fd63722d cmcurl: Fix a build failure with the Cray compiler on Linux (#15026)
2014-07-17 09:42:57 -04:00
Chuck Atkins fd63722dc8 cmcurl: Fix a build failure with the Cray compiler on Linux (#15026)
The error is caused by a workaround for UNICOS.  The workaround
incorrectly uses the _CRAYC macro to determine if building for
UNICOS.  This macro will always be defined for the Cray C and
C++ compiler regardless of the target platform, even when
building for Linux.  The correct macro should be _CRAY, which as
per Cray documentation is only defined for UNICOS targeted
builds.
2014-07-17 09:43:05 -04:00
Raphael Kubo da Costa e8c027bcc0 cmcurl: Include the local curl directories before all others.
In some cases, it was possible for the include directory of the system-wide
libcurl to be added to the include path before cmcurl's, which would result
in them being picked up and causing the build to fail if the curl versions
differ too much.

One way to trigger this is to have OpenSSL installed into a non-default
location together with libcurl (/usr/local, for example). If cmcurl is built
with CMAKE_USE_OPENSSL on, -I/usr/local/include would end up being added
before -I${PATH_TO_CMCURL}.
2014-03-10 11:40:12 -04:00
Daniele E. Domenichelli 15610bb5b1 Drop use of configure_file IMMEDIATE option
Since commit 7d47c693 (Drop compatibility with CMake < 2.4, 2013-10-08)
we no longer need to use the configure_file IMMEDIATE option to support
compatibility modes less than 2.0.
2013-11-13 10:12:17 -05:00
Brad King e81b6742f7 Merge topic 'haiku-updates'
54ef2be Haiku: Include files cleanup in cmCTest
38d5555 Haiku: Remove outdated preprocessor checks
1dc61f8 Haiku: Remove use of B_COMMON_DIRECTORY
7ebc1cb Haiku: Several fixes to platform module
2013-10-09 10:23:04 -04:00
Brad King 12a7e2b10c Merge topic 'apple-clang-id'
1763c31 Set policy CMP0025 to NEW while building CMake itself
aa53ee5 Add policy CMP0025 for Apple Clang compiler id compatibility
ab65862 Clang: Add separate "AppleClang" compiler id
2013-10-09 10:21:28 -04:00
Adrien Destugues 38d555537c Haiku: Remove outdated preprocessor checks
* Haiku does not define __BEOS__ anymore, so there is no need to guard
  these BeOS specific workaround for Haiku.
* The workaround themselves are not needed for Haiku as it has much
  better POSIX compatibility than BeOS did.

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2013-10-08 09:55:55 -04:00
Sean McBride af0051f48a curl, bzip2: Suppress warnings by setting initial value
Silence clang -Wsometimes-uninitialized warnings.
2013-10-08 09:16:33 -04:00