1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 07:28:09 +02:00
Commit Graph

77 Commits

Author SHA1 Message Date
Nikita Popov 85b5dc4711 Private/public split curl header
To allow exporting the php_curl.h header containing curl class
entries, split off a separate curl_private.h header with all the
implementation details.

We may move or expose additional APIs in php_curl.h on an as-needed
basis.
2020-09-07 11:12:41 +02:00
Christoph M. Becker 7426e3b6a1 Bump required libcurl version to 7.29.0
libcurl 7.29.0 has been released almost eight years ago, so this
version is supposed to be available practically everywhere.  This bump
also allows us to get rid of quite some conditional code and tests
catering to very old libcurl versions.
2020-01-19 14:10:46 +01:00
Nikita Popov 68f6ab7113 Don't link against openssl 1.1 in curl
OpenSSL 1.1 does not need crypto locking callbacks, so avoid
detecting and linking against it in the first place.
2020-01-06 10:42:57 +01:00
Nikita Popov b59f760472 Fix bug #79063: Curl openssl does not respect PKG_CONFIG_PATH 2020-01-06 10:31:22 +01:00
Nikita Popov 2d29904f25 Clean up curl openssl check
Only set HAVE_CURL_OPENSSL flag, and remove Windows specific code,
as all of this is only relevant for OpenSSL < 1.1, which is not
used on Windows.
2020-01-06 10:17:37 +01:00
Peter Kokot 359a78b16c Remove unused defines
Used in php-src the past and today removed and not used anymore:
- HAVE_CURL_EASY_STRERROR
- HAVE_CURL_MULTI_STRERROR
- HAVE_NEW_MIME2TEXT
- HAVE_MBSTR_CN
- HAVE_MBSTR_JA
- HAVE_MBSTR_KR
- HAVE_MBSTR_RU
- HAVE_MBSTR_TW

Part of oniguruma which doesn't use these anymore
- NOT_RUBY
- HAVE_STDARG_PROTOTYPES

Unused:
- HAVE_MPIR

Closes GH-4427
2019-07-18 02:21:39 +02:00
Peter Kokot daa243d1a0 Remove duplicate AC_PROG_CPP call
AC_PROG_CPP is already called in configure.ac.

Closes GH-4425
2019-07-18 02:14:31 +02:00
Nikita Popov bc8fece0cf Don't warn if libcurl SSL library not detected
libcurl may link against 7 different ssl libraries, all of which
are thread-safe -- apart from openssl, of course. We check for
openssl and register locking callbacks in that case, but we should
not warn if any other library is used.
2019-06-12 15:26:50 +02:00
Nikita Popov 2f1d822d78 Preserve CFLAGS/LDFLAGS for curl ssl check
We need to add the curl-specific flags, but we also need to preserve
the general flags, to keep around important stuff like -m32.
2019-06-12 11:54:13 +02:00
Peter Kokot 75fb74860d Normalize comments in *nix build system m4 files
Normalization include:
- Use dnl for everything that can be ommitted when configure is built in
  favor of the shell comment character # which is visible in the output.
- Line length normalized to 80 columns
- Dots for most of the one line sentences
- Macro definitions include similar pattern header comments now
2019-05-12 18:43:03 +02:00
Nikita Popov 3e0f9c2c94 Remove curl gnutls locking
This is only relevant for the gcrypt backend, which is no longer in
use. I couldn't find any hard info on when exactly gcrypt support was
dropped, but nette is the default since 2.11.1. Most code that still
has the gcrypt handling is checking against < 2.12. In either case,
those versions were released in 2010/2011.
2019-04-11 16:45:45 +02:00
Peter Kokot 9df6a1e4dd Add AS_HELP_STRING to *nix build configure options
The Autoconf's default AS_HELP_STRING macro can properly format help
strings [1] so watching out if columns are aligned manually is not
anymore.

[1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Pretty-Help-Strings
2019-03-07 20:36:59 +01:00
Nikita Popov e595f5cd8a Migrate ext/zlib to use pkg-config
There are other extensions checking for zlib as well, not quite
sure what to do there with regard to option names.
2018-12-26 16:59:24 +01:00
Eli Schwartz 78e4f04752 ext/curl: port to pkg-config macro and consistently require its use
curl 7.15.1 in December 2006 first added pkg-config support, which is
earlier than the minimum supported version for php. This should
therefore be uiversally supported.
2018-12-09 17:28:02 +01:00
Peter Kokot 4371945b8b Replace obsolete AC_TRY_FOO with AC_FOO_IFELSE
Autoconf 2.50 released in 2001 made several macros obsolete including
the AC_TRY_RUN, AC_TRY_COMPILE and AC_TRY_LINK:
http://git.savannah.gnu.org/cgit/autoconf.git/tree/ChangeLog.2

These macros should be replaced with the current AC_FOO_IFELSE instead:
- AC_TRY_RUN with AC_RUN_IFELSE and AC_LANG_SOURCE
- AC_TRY_LINK with AC_LINK_IFELSE and AC_LANG_PROGRAM
- AC_TRY_COMPILE with AC_COMPILE_IFELSE and AC_LANG_PROGRAM

PHP 5.4 to 7.1 require Autoconf 2.59+ version, PHP 7.2 and above require
2.64+ version, and the PHP 7.2 phpize script requires 2.59+ version which
are all greater than above mentioned 2.50 version therefore systems
should be well supported by now.

This patch was created with the help of autoupdate script:
autoupdate <file>

Reference docs:
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
- https://www.gnu.org/software/autoconf/manual/autoconf-2.59/autoconf.pdf
2018-07-30 02:36:38 +02:00
Peter Kokot cf3b852109 Trim trailing whitespaces in build files
Some editors utilizing .editorconfig automatically trim whitespaces. For
convenience this patch removes whitespaces in certain build files:
- ext/*/config*.m4
- configure.ac
- acinclude.m4
2018-07-29 03:43:45 +02:00
Peter Kokot 8d3f8ca12a Remove unused Git attributes ident
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
2018-07-25 00:53:25 +02:00
Nikita Popov 47699a24e6 Bump libcurl requirement to 7.15.5
The existence of the following functions is now guaranteed:
 * curl_escape()
 * curl_unescape()
 * curl_multi_setopt()

libcurl 7.15.5 has been released 11.5 years ago and is available
even in RHEL 5.
2018-02-03 21:11:20 +01:00
Nikita Popov 161fd75773 Bump libcurl requirement to 7.12.1
The existence of the following functions is now guaranteed:
 * curl_reset()
 * curl_strerror()
 * curl_multi_strerror()
 * curl_share_strerror()

libcurl 7.12.1 has been released more than 13 years ago and is
available even in RHEL 4.
2017-12-19 23:23:56 +01:00
Nikita Popov 340255a694 Fixed bug #75614
Replace non-standard == with = in shell scripts.
2017-12-16 22:31:10 +01:00
Dylan K. Taylor c3b0e68eb7 Fix LDFLAGS getting overwritten (ext/curl) 2017-09-12 07:03:22 +01:00
Remi Collet cc577749a8 Improve pkg-config usage
- use default path when run using --with-curl=/usr (for debian)
- fallback to headers search when libcurl.pc not found
- issue warnings for explanation
2017-08-27 07:48:52 +02:00
Remi Collet b8c6ce91b2 Switch from curl-config to pkg-config for curl extension
First attemp to fix multiarch support (#74125) for curl
introduce some debian specificity (dpkg command)
so is not suitable for other environmant.

This is mostly related to a broken "curl-config" config on debian
which doesn't provide the correct build options, while pkg-config
works as expected.

This new attemp rely on pkg-config output instead.

Notice: this make pkg-config a hard dependency.
Is there system without pkg-config ?
2017-08-25 17:01:12 +02:00
Remi Collet ef96411f60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  NEWS
  Fixed bug #75093 OpenSSL support not detected
2017-08-18 14:52:43 +02:00
Remi Collet a7594cb74f Fixed bug #75093 OpenSSL support not detected 2017-08-18 14:51:44 +02:00
Joe Watkins 4ddb0630c2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed finding CURL on systems with multiarch support
2017-07-25 06:59:03 +01:00
Carsten Brandt 3fd7d819b8 Fixed finding CURL on systems with multiarch support
fixes https://bugs.php.net/bug.php?id=74125

This commit makes the cURL config script aware of debian/ubuntu
[multiarch support][1] which installs architecture specific
headers in a different location.

It checks whether the `dpkg-architecture` script exists and is
executeable, if that is the case, the multiarch architecture is
detected by calling `dpkg-architecture -qDEB_HOST_MULTIARCH` as
documented in [debian multiarch implementation docs][2]:

> `/usr/include/<triplet>`: used for arch-varying headers

[1]: https://wiki.debian.org/Multiarch
[2]: https://wiki.debian.org/Multiarch/Implementation
2017-07-25 06:58:11 +01:00
Sara Golemon 1a8df11364 Include strings.h for strncasecmp 2016-12-12 23:26:04 -08:00
Christopher Jones c6d977dd39 Fix long-standing visual pain point: the misalignment of './configure help' text.
Whitespace changes and a couple of grammar fixes.
2013-08-06 11:06:09 -07:00
Pierrick Charron b79e65f268 Remove curl wrappers 2013-04-23 17:01:17 -04:00
Stanislav Malyshev a9d013bb02 Implement fix for bug #46439 - add CURLFile class for safer uploads 2013-01-28 22:22:59 -08:00
Pierrick Charron e37506bd58 Remove dead code
# curl_version_info was introduced in 7.10 and the PHP requirement is 7.10.5
2011-12-14 03:45:44 +00:00
Pierrick Charron e69f987948 Clean / Improve the curl extension
# NEWS file will come soon
2011-12-01 21:48:07 +00:00
Pierrick Charron 70136445cb Revert commit r319729 until I have a clean version for non-ZTS 2011-11-24 12:49:11 +00:00
Pierrick Charron da2797108f Implemented FR #55540, added functions curl_share_init(), curl_share_setopt() and curl_share_close(). 2011-11-23 22:20:28 +00:00
Jani Taskinen ed849dd90f - Add missing EXPERIMENTAL note (this thing REALLY is experimental at best..) 2009-07-25 20:58:51 +00:00
Jani Taskinen 0fef8f609c - Fixed bug #48132 (configure fails to test curl ssl support if --disable-rpath is set) 2009-05-02 19:53:33 +00:00
Felipe Pena 428b2c7906 - Fixed bug #46521 (Curl ZTS OpenSSL, error in config.m4 fragment)
Noticed by: jd at cpanel dot net
2008-11-07 21:11:26 +00:00
Michael Wallner c54763d35a - fix typo 2007-05-25 12:48:39 +00:00
Michael Wallner 31509b6433 MFB: first check the SSL lib string in libcurl and then the header 2007-05-21 13:34:39 +00:00
Michael Wallner 97399e90f7 - fix compiler/linker agnostic runpath switch 2007-05-19 19:36:35 +00:00
Michael Wallner b83260a150 MFB: r1.28.2.3.2.4 2007-05-16 21:19:53 +00:00
Antony Dovgal 4d4166fcbc missing part of the fix for #38844 2006-09-15 15:42:39 +00:00
Antony Dovgal b6596bebc7 fix #38844 (curl_easy_strerror() is defined only since cURL 7.12.0) 2006-09-15 13:43:55 +00:00
Hannes Magnusson 8b427acfd0 Be overly picky: CURL->cURL 2006-09-09 20:03:55 +00:00
Antony Dovgal e3586e0407 MF51: fix #35341 (Fix for bug #33760 breaks build with older curl) 2005-11-22 22:54:22 +00:00
foobar 9b7a28e9a2 fix configure help 2005-11-10 08:04:57 +00:00
foobar f2e946c79c Fix configure 2005-10-26 11:33:17 +00:00
Michael Wallner 6cb40d4c48 - thread safe SSL crypto locks, fixes bug #33760 2005-10-25 14:29:07 +00:00
foobar 626253940e - Added PHP_INSTALL_HEADERS() macro
- Fixed several VPATH build issues
- Changed all awk calls to use $AWK
- Changed all mkdir calls to use "$php_shtool mkdir"
2005-05-07 02:51:53 +00:00