Commit Graph

535 Commits

Author SHA1 Message Date
Peter Kokot
fa574ddd6f Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Update NEWS
  Fix shared module generation on AIX bug #77676
2019-03-02 18:52:01 +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
8be649d908 Merge branch 'PHP-7.2' into PHP-7.3 2019-02-07 11:12:42 +00: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
Christoph M. Becker
b117feeb2b Fix #76510: file_exists() stopped working for phar://
We work around a strlen() optimization bug in GCC 8[1] by checking
whether the used GCC exhibits the broken behavior, and if so by
disabling `optimize-strlen`.

[1] <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86914>
2018-09-11 12:23:20 +02:00
Peter Kokot
7c1e0930c4 Remove TSRM_CHECK_GCC_ARG and LIBZEND_CPLUSPLUS_CHECKS
This removes two old Autoconf macro definitions since they are not used
anymore.
2018-07-31 05:59:05 +02:00
Peter Kokot
f2e4de8b56 Fix AC_RUN_IFELSE calls when cross-compiling
AC_RUN_IFELSE program can't be run when cross-compiling. This fix removes
warnings given by autotools scripts.
2018-07-30 06:38:59 +02: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
daaf706df0 Upgrade deprecated AC_OUTPUT macro calls
Autoconf 2.50 made several changes to macro calls. These include also
arguments passed to AC_OUTPUT macro. The upgrading chapter in Autoconf
documentation include an example of using AC_OUTPUT with
AC_CONFIG_FILES and AC_CONFIG_COMMANDS:
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html

PHP 5.4 to 7.1 require Autoconf 2.59+, PHP 7.2+ require Autoconf 2.64+,
and PHP 7.2 phpize script requires Autoconf 2.59+ which are all greater
than above mentioned 2.50 version. Systems out there should well support
this by now.

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

More info on where exactly this got deprecated:
- ftp://ftp.gnu.org/old-gnu/Manuals/autoconf-2.13/html_mono/autoconf.html
- ftp://ftp.auckland.ac.nz/pub/gnu/Manuals/autoconf-2.52/html_chapter/autoconf_15.html
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
2018-07-29 16:04:39 +02:00
Peter Kokot
03b717d4cc Remove unused PHP_PROG_LEX macro
Since PHP 5.3 flex lexer has been replaced with re2c. Commit
0f9e2b1753 made PHP_PROG_LEX macro still
available for BC.

In commit df6bd506d4 it was updated. Since
this macro is entirely not used in PHP source code anymore from PHP 5.3
and up, this patch removes it together with some old traces of warnings
suppression and comments.
2018-07-29 10:53:21 +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
8d18d631b6 Replace obsolete AC_TRY_CPP with AC_PREPROC_IFELSE
The AC_TRY_CPP macro is obsolete since Autoconf 2.50 in 2001:
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
2018-07-25 23:00:20 +02:00
Peter Kokot
df6bd506d4 Remove obsolete macro AC_DECL_YYTEXT
The macro AC_DECL_YYTEXT has been obsolete since Autoconf 2.50 released
in 2001. Now it is included in the AC_PROG_LEX macro.

Autoconf news info about obsoletion:
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS

Docs:
https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html

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. Systems out there should
well support this by now.
2018-07-25 03:09:14 +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
Peter Kokot
b7368fe0d0 Add missing autoconf m4 quotes
Two macro calls were missing quotes and in order to be able to run the
autoupdate script, this patch adds them.
2018-07-03 19:12:44 +02:00
Anatol Belski
9a8e7b5718 Use recommended way to handle utf*.h headers and obsolete symbols 2018-04-05 17:22:44 +02:00
Anatol Belski
df2e4fd8fc Merge branch 'PHP-7.2'
* PHP-7.2:
  Rename var
2018-04-05 14:56:45 +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
50c8d3e0e7 Fix comparison 2018-04-05 14:22:38 +02:00
Anatol Belski
08178ed231 Use recommended options for explicit UnicodeString constructors 2018-04-05 13:09:42 +02:00
Anatol Belski
cad2a0f9c3 Revert the automatic namespace addition 2018-03-31 18:51:56 +02:00
Anatol Belski
3f8d05b16c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76153 Intl compilation fails with icu4c 61.1
2018-03-28 18:05:22 +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
Nikita Popov
c069adb4ba Merge branch 'PHP-7.2' 2018-03-23 22:04:18 +01: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
Xinchen Hui
cf0fae5e97 Optimized base64_encode/decode with SIMD instructions 2018-02-12 20:53:14 +08:00
Xinchen Hui
7ce72f0cf5 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src: (37 commits)
  Avoid conditions inside loop
  Improve loop vectorization
  Improve loop vectorization
  Remove unused function
  Fixed bug #75938
  Remove unused files
  Fixed bug #75940 Unnecessary compile wrapper with PHP_THREAD_SAFETY=yes
  typo
  Update README.GIT-RULES
  Fix SKIPIF section
  Fixes bug #75871 Use pkg-config for libxml2 if available
  Fixed bug #49876 lib path on 64bit distros
  Refactor testing READMEs
  Fixed bug #65414
  Fixed bug #65414
  Fixed bug #74519 strange behavior of AppendIterator
  fix #74519 strange behavior of AppendIterator
  Use bool instead of boolean
  Remove space between function name and open parentheses
  Fix some misspellings
  ...
2018-02-10 17:01:55 +08:00
Xinchen Hui
87b7180480 Fixed cpu feature check in reslover functions 2018-02-10 16:58:27 +08:00
Joe
47b90e910b
Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixes bug #75871 Use pkg-config for libxml2 if available
2018-02-08 10:51:47 +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
Xinchen Hui
98aa3a65c4 Optimized php_addslashes with SSE4.2 instructions
According to benchmark
(https://gist.github.com/laruence/fd0d443d2c5bacca9d8ab99250499956) this brings 30%+ execution time reduced.

In the further, this open the door for possible SSE4.2 optimizations in
other places.
2018-01-15 21:17:50 +08: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