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

242 Commits

Author SHA1 Message Date
Peter Kokot 77c85b3119 Merge branch 'PHP-7.3'
* PHP-7.3:
  [ci skip] Update UPGRADING about Autoconf version
  Bump minimum Autoconf requirement to 2.68
2018-10-09 21:17:19 +02:00
Peter Kokot 0b0d4b5f0d Bump minimum Autoconf requirement to 2.68
This patch syncs and bumps the minimum required version of Autoconf for
the `phpize.m4` script and the main `configure.ac` from previously mixed
2.64 and 2.59 to 2.68.

At the time of this writing Autoconf 2.63 is still the version on
Centos 6, however by the PHP 7.3 release current systems out there
should all have pretty much updated Autoconf versions to 2.64+ at
least. Centos 7 already has Autoconf 2.69, for example.

This provides more options to update and get current with the *nix
build system and also avoids broken builds in certain cases as pointed
out in the relevant discussion [1].

Additionally, phpize also already provides the `AX_CHECK_COMPILE_FLAG`
Autoconf Archive m4 file that has Autoconf 2.64 minimum requirement.

Autoconf 2.68 was released in 2010, 8 years ago, relative to this patch.

[1] https://github.com/php/php-src/pull/3562
2018-10-09 21:06:10 +02:00
Anatol Belski 4acc8500ac Enforce C++11 in ext/intl
ICU 59 already requires C++11 by default. The minimum version required
by the core is 50, which is compiled with at least C++11 in many distros
as package defs tell. Headers for ICU versions between ICU 50 and 58 look
fine when included for C++11 compilation, the linking is thereof not affected.

The macro PHP_CXX_COMPILE_STDCXX is based on
https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
The patch consists on allowing to read the corresponding switch in a user
defined variable instead of enforcing CXXFLAGS globally. That way, every
ext or SAPI can decide, which C++ standard is to be used. The
documentation is provided in the m4 file.

C++11 is already somewhat older standard, C++14 were better. However
issues with GCC < 5.0 and some other compilers are possibly to hit back.
Still there's some time to check for C++14 for ext/intl, too. Having said
that, C++11 in ext/intl and a mechanism to determine features is a good step
towards better C++ support.
2018-10-07 20:00:03 +02:00
Peter Kokot 02294f0c84 Make PHP development tools files and scripts executable
This patch makes several scripts and PHP development tools files
executable and adds more proper shebangs to the PHP scripts.

The `#!/usr/bin/env php` shebang provides running the script via
`./script.php` and uses env to find PHP script location on the system.
At the same time it still provides running the script with a user
defined PHP location using `php script.php`.
2018-08-29 20:58:17 +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 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 b60d8ab2e2 Upgrade AX_CHECK_COMPILE_FLAG macro to serial 6
The AX_CHECK_COMPILE_FLAG macro is from the Autoconf Archive. Latest
version of the file has a new All-permissive license for even more
convenience for usage.

Refs:
- http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_check_compile_flag.m4
- https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html
2018-07-28 01:40:02 +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 be49d61b19 Remove old SVN keywords substitutions
When the PHP source code was versioned in Subversion, there was
possible to substitute certain keywords such as $Id$ with revision
number, last change time and author name. Such approach is not used
in Git so this patch removes these outdated artifacts from source
code files.
2018-06-16 13:04:30 +02: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
Xinchen Hui a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Remi Collet e967de6bfa Fixed bug #75142 buildcheck.sh check for autoconf version needs to be updated for v2.64 2017-09-05 08:16:33 +02:00
Brian Evans 2fe9208ee3 Use modern autotools name of configure.ac instead of configure.in
configure.ac was introduced in 2001 with automake-1.15 and autoconf-2.50
to replace the file named configure.in.
Autotools is preparing to remove configure.in in Automake 2.0.
All new software should be using configure.ac.
This also fixes Bug #69770 where extensions are creating configure.in

Signed-off-by: Brian Evans <grknight@gentoo.org>
2017-01-27 06:07:40 +00:00
Joe Watkins 8e447eafd9 fix broken build scripts #2124 2017-01-06 16:04:52 +00:00
Sammy Kaye Powers 9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Julien Pauli 736b91c650 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)

Conflicts:
	ext/json/php_json_encoder.h
	sapi/continuity/capi.c
2016-01-04 18:13:38 +01:00
Lior Kaplan 53fb2f1e5c Happy new year (Update copyright to 2016) 2016-01-03 01:44:37 +02:00
Lior Kaplan ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan 49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Bob Weinand 4dee0c4a14 Fixed bug #70899 (buildconf failure in extensions) 2015-11-17 21:07:29 +01:00
Adam Harvey de63ebf5f4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix NEWS indentation.
  Don't detect FreeBSD 10 as FreeBSD 1 in libtool.m4.
2015-08-27 16:01:33 -07:00
Adam Harvey e872f4d9c1 Don't detect FreeBSD 10 as FreeBSD 1 in libtool.m4.
Fixes bug #70370 (Bundled libtool.m4 doesn't handle FreeBSD 10 when building
extensions).
2015-08-27 15:59:59 -07:00
Anatol Belski ac2f6ddd4f here string isn't supported by every shell 2015-08-21 19:11:53 +02:00
Ferenc Kovacs 5ed1b70841 $() isn't supported on every shell 2015-08-21 18:27:03 +02:00
Bob Weinand 823062d6c1 Fix invalid range error by gawk in order_by_dek.awk 2015-08-21 00:13:03 +02: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
Michael Wallner afcaa52c73 Merge branch 'PHP-5.6'
* PHP-5.6:
  make buildconf work as expected; autoconf really needs some help with all those external m4s

Conflicts:
	build/build2.mk
2015-02-04 09:50:14 +01:00
Michael Wallner 4c3b4dc74a make buildconf work as expected;
autoconf really needs some help with all those external m4s
2015-02-04 09:39:02 +01:00
Michael Wallner f5808f32ac Partially revert. I did not notice there's alaready a .PHONY target for
generated_lists. Force removing configure before running autoconf is
enough to make this work as expected.
2015-01-31 10:57:53 +01:00
Michael Wallner fa453d5abd make buildconf actually work 2015-01-30 17:58:49 +01:00
Florian MARGAINE 8eb7e7bf7f Merge branch 'master' into issue-67910
Conflicts:
	README.PARAMETER_PARSING_API
	ext/gmp/tests/001.phpt
2014-09-20 10:09:21 +02:00
Florian MARGAINE cf0303e782 Replaces php5 with php7, without whitespace changes. 2014-09-20 10:01:44 +02:00
Johannes Schlüter d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Lior Kaplan a8b97086d7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  config.guess: add ppc64le / ppcle support by Anton Blanchard <anton@samba.org>
  libtool: powerpc*le-linux support by Alan Modra <amodra@bigpond.net.au>
2014-08-28 00:48:28 +03:00
Lior Kaplan 302ccc195b libtool: powerpc*le-linux support by Alan Modra <amodra@bigpond.net.au>
Patch created using the following changes in libtool:
http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=75ffb257
http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=056889b8
http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=bd998a7e
http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=429d40a0
http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=8a8dfaec
2014-08-28 00:37:01 +03:00
Ferenc Kovacs d1fb869e78 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS
  Fix bug #67091: make install fails to install libphp5.so on FreeBSD 10.0
2014-06-30 01:34:47 +02:00
Ferenc Kovacs a52616b759 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #67091: make install fails to install libphp5.so on FreeBSD 10.0
2014-06-30 01:34:05 +02:00
Ferenc Kovacs a7d1656b96 Fix bug #67091: make install fails to install libphp5.so on FreeBSD 10.0
Simplest fix is to remove the specific checks for freebsd1* as it also matches freebsd10,
and nobody should be using >=PHP 5.4 with freebsd 1.x(if it is even possible to make it
to compile there).
2014-06-30 01:31:10 +02:00
Sobak 244c289f9c Removed cvsclean and svnclean tools 2014-06-08 19:27:58 -07:00
Lior Kaplan c09bd9def0 Merge branch 'PHP-5.4' into PHP-5.5 2014-02-14 15:30:00 +02:00
Mats Lindh 6188674f1e Replace old SVN references to Git 2014-02-09 21:17:26 +02:00
Michael Wallner f32d2ac3aa fix bug #51076 (race condition in shtool's mkdir -p) 2013-10-08 08:37:08 +02:00
Christopher Jones c932d532c8 One more './configure --help' alignment fix 2013-08-06 11:23:02 -07: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
Veres Lajos e9a95d78ef typo fixes 2013-07-15 00:23:03 -07:00
Veres Lajos 72085b0e5f typo fixes 2013-07-15 00:18:57 -07:00
Stanislav Malyshev 02e4d7a290 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:30:59 -07:00
Stanislav Malyshev ac40c0b562 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:20:18 -07:00
Scott MacVicar 0c83631303 Fix building of pure C++ extensions as static 2011-08-09 18:12:06 +00:00