1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 23:48:14 +02:00
Commit Graph

508 Commits

Author SHA1 Message Date
Peter Kokot 902d39a3a7 Trim trailing whitespace in source code files 2018-10-13 14:14:50 +02:00
Anatol Belski 7768f5e2de Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Rename var
2018-04-05 14:54:14 +02:00
Anatol Belski ed5aabe8b7 Rename var 2018-04-05 14:52:40 +02:00
Anatol Belski 4e39968e4d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76153 Intl compilation fails with icu4c 61.1
2018-03-28 18:04:09 +02:00
Anatol Belski 710284cbc4 Fixed bug #76153 Intl compilation fails with icu4c 61.1
Additionally, ICU >= 59.1 requires C++11, so add the flags. Some
refactoring is needed to comply with the latest recommended build
options, such as automatic icu namespace addition.
2018-03-28 18:01:44 +02:00
Michael Heimpold 25ba60b147 Fixed bug #75722: Rework valgrind detection
As described in bug report #75722, the configure script (acinclude.m4)
currently searches for the valgrind header file and enables valgrind
support if found.

When cross-compiling the searched paths are invalid for the target
platform because they belong to the host system. At the moment, there is
no way to tell the build system a dedicated path where to look for the
header file.

This leads to the issue, that when cross-compiling eg. for ARMv5 platform,
that valgrind header file is detected - e.g. because host system is amd64 -
and support is enabled - but target platform will never support valgrind
(valgrind requires e.g. at least ARMv7).

This change reworks the detection so that user could manually opt-in
valgrind support and optionally specify a directory where the build system
should look for the header file using the --with-valgrind option.
2018-03-23 22:02:17 +01:00
Joe f9a16d492e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixes bug #75871 Use pkg-config for libxml2 if available
2018-02-08 10:51:07 +01:00
Pedro Magalhães 5673c641dc Fixes bug #75871 Use pkg-config for libxml2 if available 2018-02-08 10:50:22 +01:00
Joe Watkins 0f15a03026 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix configure error
2017-06-22 14:02:09 +01:00
Joe Watkins 21cbdf6984 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix configure error
2017-06-22 14:01:45 +01:00
Peter Kokot 660250f4da Fix configure error
This patch fixes configure error on some systems such as Alpine.

```
 line 3472: test: =: unary operator expected
```

One of the fixes has been suggested also here already:
https://bugs.php.net/bug.php?id=39835

Thank you for considering merging this.
2017-06-22 14:01:18 +01:00
Dmitry Stogov fc1ae1d1d3 Exclude warm-up requests from callgrind profile. 2017-05-31 16:16:56 +03:00
Jakub Zelenka cdc33251d2 Add OpenSSL 1.1.0 support to PHP 7.0 2017-04-07 19:21:33 +01:00
Remi Collet 015a80ef7b report about OpenSSL 1.1 not supported during configure 2017-02-22 08:39:07 +01:00
Joe Watkins 54b00d157a Merge branch 'PHP-7.1'
* PHP-7.1:
  Prevent fd leak in readdir_r that causes false negative on readdir_r implementation when compiled with AddressSanitizer
2017-01-10 11:51:56 +00:00
Joe Watkins 4cddc85c1f Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Prevent fd leak in readdir_r that causes false negative on readdir_r implementation when compiled with AddressSanitizer
2017-01-10 11:51:39 +00:00
Ondřej Surý 1bdffee820 Prevent fd leak in readdir_r that causes false negative on readdir_r implementation when compiled with AddressSanitizer 2017-01-10 11:51:27 +00:00
Joe Watkins 598bb2cad8 fix bad merge 2017-01-06 16:34:20 +00:00
Joe Watkins bb513f15e1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Test request47456.phpt for PR 1303
2017-01-06 16:24:10 +00:00
Joe Watkins 699ab98f9d fix build broken by #2124 2017-01-06 16:18:24 +00:00
Joe Watkins 46c800948e fix acinclude, messed up by bad merge #2124 2017-01-06 16:13:21 +00:00
Joe Watkins 8e447eafd9 fix broken build scripts #2124 2017-01-06 16:04:52 +00:00
Joe Watkins 9e18b6e21e Merge branch 'pull-request/2124'
* pull-request/2124:
  Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden
2017-01-06 08:13:53 +00:00
Stanislav Malyshev 1f1d3a22d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
  Add more mbfl string size checks (bug #73505)
2016-11-26 15:37:10 -08:00
Stanislav Malyshev 8c61bd2e9a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
  Add more mbfl string size checks (bug #73505)
2016-11-26 15:37:06 -08:00
Stanislav Malyshev 343c056772 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
  Add more mbfl string size checks (bug #73505)
2016-11-26 15:36:57 -08:00
Michael Orlitzky 114277ed45 acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
When building with kerberos support (--with-kerberos), a few libraries
and flags need to be added to various parts of the build system. The
most reliable way to get those flags is through the krb5-config
program that ships with both major implementations of kerberos. The
PHP_SETUP_KERBEROS macro in acinclude.m4 attempts to detect
krb5-config, and use it.

However, there's a bug in that macro. The --with-kerberos parameter
accepts a directory where the kerberos libraries can be found. When a
directory is given, it is stored in the PHP_KERBEROS variable. The
following test,

  if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then

thus fails whenever a directory is passed to --with-kerberos, since it
compares a directory name against the string "yes". This causes
krb5-config to go unused, and some unreliable fallback logic is
attempted instead. One consequence of this is that the Heimdal
kerberos implementation cannot be substituted for the MIT one, at
least when a directory is passed to --with-kerberos.

This commit reverses the logic and checks for "$PHP_KERBEROS" != "no".
To confirm that this fixes the issue, one can inspect the "-l" library
flags that get appended to the command-line. On a machine with Heimdal
and the unmodified acinclude.m4, running

  ./configure --with-openssl --with-kerberos=/usr

will log (for example) to config.log,

  configure:18082: checking for krb5-config
  configure:18101: found /usr/bin/krb5-config
  configure:18114: result: /usr/bin/krb5-config
  configure:18450: checking for RAND_egd
  configure:18450: cc ... conftest.c ... -lgssapi_krb5 -lkrb5 ...

which are the library names for the MIT implementation. After patching
acinclude.m4 to negate the logic, the same command on the same machine
outputs (to config.log):

  configure:18450: cc ... conftest.c -lgssapi -lheimntlm ...

These are the correct library names for the Heimdal implementation.

PHP-Bug: 73214
2016-11-26 15:36:49 -08:00
Joe Watkins 43bd0146bc Merge branch 'PHP-7.1'
* PHP-7.1:
  fix #72180, #73219
2016-11-20 08:33:26 +00:00
Joe Watkins f67784907e fix #72180, #73219 2016-11-20 08:32:26 +00:00
Joe Watkins 274951a4a2 Fix #73219 (fix acinclude when / is present) 2016-11-20 05:34:08 +00:00
Kalle Sommer Nielsen 2104bea5d7 Remove Netware support
If this does not break the Unix system somehow, I'll be amazed. This should get most of it out, apologies for any errors this may cause on non-Windows ends which I cannot test atm.
2016-11-12 11:20:01 +01:00
Michael Orlitzky 672178ff2c Ship AX_CHECK_COMPILE_FLAG in a separate file to preserve its license.
In commit 086f9ad, I added a new macro AX_CHECK_COMPILE_FLAG from the
autoconf archive. Jakub Zelenka pointed out that the license of the
macro (GPL-3+ with exception) does not agree with the license of PHP
itself (PHP-3.01). We should therefore ship the macro in a separate
file with its own license header. That is allowed and is done for
many other files in the PHP repository.

This commit adds a new top-level "m4" directory and places the
upstream ax_check_compile_flag.m4 file in it. The macro is no longer
inlined; instead, our acinclude.m4 now includes the aforementioned
file with m4_include.

PHP-Bug: 73062
Pull-Request: 2124
2016-09-14 13:21:19 -04:00
Michael Orlitzky 086f9adc4d Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden support.
The existing check for -fvisibility=hidden support came from a time
when only GCC had it. The test for it used a regular expression to
parse the GCC major version from the output of `$CC --version`, and
would look for version 4 or greater.

The regular expression used to accomplish this is doomed, however,
since GCC can be built with a custom version string
(--with-pkgversion). Moreover, the $CC variable can be set to
something that confuses it but is otherwise valid. For example, it
would fail with CC=x86_64-pc-linux-gnu-gcc.

This commit fixes two aspects of the feature test. First, it no longer
limits the test to GCC. At least clang now supports the flag, and can
make use of it when GCC is its backend. Second, support for the flag
is tested directly, by attempting to pass it to the compiler, rather
than by parsing its version string. The latter is accomplished with a
new macro, AX_CHECK_COMPILE_FLAG, taken from the autoconf archive.
The new macro has been added to acinclude.m4, and the test stanza in
configure.in has been replaced with a single call to the new macro.

Note that the new macro calls AC_PREREQ(2.64) -- a more stringent
requirement than the existing AC_PREREQ(2.59) in configure.in. The
difference represents about six years of autoconf releases, from v2.59
in December of 2003 to v2.64 in July of 2009.

This problem was noticed by Brian Evans, who also suggested the fix.

PHP-Bug: 73062
2016-09-10 11:31:49 -04:00
Nikita Popov 852a5ff23c Fix typos 2016-08-11 17:57:58 +02:00
Xinchen Hui 75017520c3 Check them in autoconf 2016-08-11 19:57:30 +08:00
Jakub Zelenka 5f569cc03e Bump minimal OpenSSL version to 1.0.1 2016-07-17 17:21:07 +01:00
Joe Watkins 1524e00ccc improve 7132fe19c2 2016-05-13 12:47:36 +01:00
Joe Watkins 7132fe19c2 fix 1bb8a7b0b8 2016-05-13 09:25:15 +01:00
Joe Watkins ee8f402af8 fix 1f52a03082 2016-05-13 09:21:28 +01:00
Joe Watkins 1f52a03082 fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo) 2016-05-13 07:43:49 +01:00
Joe Watkins 1bb8a7b0b8 fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo) 2016-05-13 07:41:11 +01:00
Michael Wallner 0e856232d8 fix generating config.nice; again
The fix in a8bc184207 broke if an arg
containing spaces was passed to configure.
2016-02-03 13:24:40 +01:00
Dmitry Stogov 59424bb7bd Fixed bug #71006 (symbol referencing errors on Sparc/Solaris) 2015-12-03 13:28:41 +03:00
Jakub Zelenka 6a81363405 Require at least OpenSSL version 0.9.8 2015-09-20 13:01:15 +01:00
Bob Weinand 82b73fd1e3 Remove assumption that extensions are in ext/ext-name
Fixes also a weird ln (symlink) hack for phpdbg
2015-08-21 00:13:02 +02:00
Dmitry Stogov f596c953e4 Fixed PHP_CHECK_BUILTIN_EXPECT setting 2015-03-23 12:00:37 +03:00
Levi Morrison 017f89e871 Move check for __builtin_expect to configure
This allows __builtin_expect to be used more accurately
2015-03-22 10:31:14 -06:00
Maxime BESSON f384971552 Look for PDO include files in the right folder
Configure scripts for extensions look for PDO include files in
$prefix/include/php. This change makes them look into $phpincludedir
instead, which may be different from $prefix/include/php.
2015-02-06 12:06:29 +01:00
Anatol Belski ef6e9386e3 remove some remains from the old patch 2014-09-25 19:27:36 +02:00
Anatol Belski fb17d6516d Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  fixed copying of the struct as it's not being modified
  avoid strlen usage in loop
  Removes accidentally added files.
  Reverts some unwanted changes
  Deletes patch leftovers
  Replaces php5 with php7, without whitespace changes.
2014-09-20 21:37:19 +02:00