Commit Graph

511 Commits

Author SHA1 Message Date
Samuele Kaplun
79f046f89e
Consider phpdbg as cli
* When configuring extensions, considers the PHPDBG SAPI as CLI thus
  allowing e.g. to have the pcntl extension available within PHPDBG.

Signed-off-by: Samuele Kaplun <kaplun@protonmail.com>
2019-03-27 10:38:03 +01:00
Kevin Adler
700f876a1a Fix shared module generation on AIX bug #77676
Makefiles for PHP extensions generated by phpize expect the PHP_MODULES
to contain a list of libtool .la files so that it can read the $dlname
variable from them by sourcing them in to a shell. On AIX, the code was
setting PHP_MODULES to a list of .so files, which meant the dlname was
blank, preventing the tests from being able to run.

Change the AIX code path in the PHP_SHARED_MODULE macro to match the
output on other platforms, using libtool .la files.
2019-03-02 18:45:55 +01:00
Derick Rethans
e2edaa0cee Use pkg-config for ICU, as the old icu-config has been deprecated 2019-02-07 10:18:32 +00:00
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