Skip to content

Commit 4383442

Browse files
committed
Merge branch 'master' of git://github.com/php/php-src
2 parents bd73607 + 09b9e77 commit 4383442

11 files changed

+74
-51
lines changed

CREDITS

-3
This file was deleted.

README.md

+5
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,8 @@ of cores (`N`):
108108

109109
The [qa.php.net](https://qa.php.net) site provides more detailed info about
110110
testing and quality assurance.
111+
112+
## Credits
113+
114+
For the list of people who've put work into PHP, please see the
115+
[PHP credits page](https://php.net/credits.php).

UPGRADING.INTERNALS

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ PHP 8.0 INTERNALS UPGRADE NOTES
3030
- TSRMLS_DC
3131
- TSRMLS_D
3232
- TSRMLS_CC
33-
- TSRMLS_CC
33+
- TSRMLS_C
3434
- TSRMLS_FETCH
3535
- TSRMLS_FETCH_FROM_CTX
3636
- TSRMLS_SET_CTX

build/buildcheck.sh

+43-19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#! /bin/sh
1+
#!/bin/sh
2+
#
23
# +----------------------------------------------------------------------+
34
# | PHP Version 7 |
45
# +----------------------------------------------------------------------+
@@ -15,34 +16,57 @@
1516
# | Authors: Stig Bakken <[email protected]> |
1617
# | Sascha Schumann <[email protected]> |
1718
# +----------------------------------------------------------------------+
19+
#
20+
# Check PHP build system tools such as autoconf and their versions.
21+
#
22+
# SYNOPSIS:
23+
# buildcheck.sh [stampfile]
24+
#
25+
# DESCRIPTION:
26+
# Optional stampfile is for Makefile to check build system only once.
27+
#
28+
# ENVIRONMENT:
29+
# The following optional variables are supported:
30+
#
31+
# PHP_AUTOCONF Overrides the path to autoconf tool.
32+
# PHP_AUTOCONF=/path/to/autoconf buildcheck.sh
1833

1934
echo "buildconf: checking installation..."
2035

2136
stamp=$1
2237

2338
# Allow the autoconf executable to be overridden by $PHP_AUTOCONF.
24-
if test -z "$PHP_AUTOCONF"; then
25-
PHP_AUTOCONF='autoconf'
26-
fi
39+
PHP_AUTOCONF=${PHP_AUTOCONF:-autoconf}
40+
41+
# Go to project root.
42+
cd $(CDPATH= cd -- "$(dirname -- "$0")/../" && pwd -P)
43+
44+
# Get minimum required autoconf version from the configure.ac file.
45+
min_version=$(sed -n 's/AC_PREREQ(\[\(.*\)\])/\1/p' configure.ac)
46+
47+
# Check if autoconf exists.
48+
ac_version=$($PHP_AUTOCONF --version 2>/dev/null|head -n 1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//')
2749

28-
# autoconf 2.68 or newer
29-
ac_version=`$PHP_AUTOCONF --version 2>/dev/null|head -n 1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
3050
if test -z "$ac_version"; then
31-
echo "buildconf: autoconf not found." >&2
32-
echo " You need autoconf version 2.68 or newer installed" >&2
33-
echo " to build PHP from Git." >&2
34-
exit 1
51+
echo "buildconf: autoconf not found." >&2
52+
echo " You need autoconf version $min_version or newer installed" >&2
53+
echo " to build PHP from Git." >&2
54+
exit 1
3555
fi
36-
IFS=.; set $ac_version; IFS=' '
37-
if test "$1" = "2" -a "$2" -lt "68" || test "$1" -lt "2"; then
38-
echo "buildconf: autoconf version $ac_version found." >&2
39-
echo " You need autoconf version 2.68 or newer installed" >&2
40-
echo " to build PHP from Git." >&2
41-
exit 1
56+
57+
# Check autoconf version.
58+
set -f; IFS='.'; set -- $ac_version; set +f; IFS=' '
59+
ac_version_num="$(expr ${1} \* 10000 + ${2} \* 100)"
60+
set -f; IFS='.'; set -- $min_version; set +f; IFS=' '
61+
min_version_num="$(expr ${1} \* 10000 + ${2} \* 100)"
62+
63+
if test "$ac_version_num" -lt "$min_version_num"; then
64+
echo "buildconf: autoconf version $ac_version found." >&2
65+
echo " You need autoconf version $min_version or newer installed" >&2
66+
echo " to build PHP from Git." >&2
67+
exit 1
4268
else
43-
echo "buildconf: autoconf version $ac_version (ok)"
69+
echo "buildconf: autoconf version $ac_version (ok)"
4470
fi
4571

4672
test -n "$stamp" && touch $stamp
47-
48-
exit 0

ext/standard/strnatcmp.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* -*- mode: c; c-file-style: "k&r" -*-
1+
/*
22
33
Modified for PHP by Andrei Zmievski <[email protected]>
44

ext/tokenizer/tokenizer_data.c

+16-16
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
void tokenizer_register_constants(INIT_FUNC_ARGS) {
3030
REGISTER_LONG_CONSTANT("T_INCLUDE", T_INCLUDE, CONST_CS | CONST_PERSISTENT);
3131
REGISTER_LONG_CONSTANT("T_INCLUDE_ONCE", T_INCLUDE_ONCE, CONST_CS | CONST_PERSISTENT);
32-
REGISTER_LONG_CONSTANT("T_EVAL", T_EVAL, CONST_CS | CONST_PERSISTENT);
3332
REGISTER_LONG_CONSTANT("T_REQUIRE", T_REQUIRE, CONST_CS | CONST_PERSISTENT);
3433
REGISTER_LONG_CONSTANT("T_REQUIRE_ONCE", T_REQUIRE_ONCE, CONST_CS | CONST_PERSISTENT);
3534
REGISTER_LONG_CONSTANT("T_LOGICAL_OR", T_LOGICAL_OR, CONST_CS | CONST_PERSISTENT);
@@ -79,13 +78,6 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
7978
REGISTER_LONG_CONSTANT("T_CLONE", T_CLONE, CONST_CS | CONST_PERSISTENT);
8079
REGISTER_LONG_CONSTANT("T_ELSEIF", T_ELSEIF, CONST_CS | CONST_PERSISTENT);
8180
REGISTER_LONG_CONSTANT("T_ELSE", T_ELSE, CONST_CS | CONST_PERSISTENT);
82-
REGISTER_LONG_CONSTANT("T_ENDIF", T_ENDIF, CONST_CS | CONST_PERSISTENT);
83-
REGISTER_LONG_CONSTANT("T_STATIC", T_STATIC, CONST_CS | CONST_PERSISTENT);
84-
REGISTER_LONG_CONSTANT("T_ABSTRACT", T_ABSTRACT, CONST_CS | CONST_PERSISTENT);
85-
REGISTER_LONG_CONSTANT("T_FINAL", T_FINAL, CONST_CS | CONST_PERSISTENT);
86-
REGISTER_LONG_CONSTANT("T_PRIVATE", T_PRIVATE, CONST_CS | CONST_PERSISTENT);
87-
REGISTER_LONG_CONSTANT("T_PROTECTED", T_PROTECTED, CONST_CS | CONST_PERSISTENT);
88-
REGISTER_LONG_CONSTANT("T_PUBLIC", T_PUBLIC, CONST_CS | CONST_PERSISTENT);
8981
REGISTER_LONG_CONSTANT("T_LNUMBER", T_LNUMBER, CONST_CS | CONST_PERSISTENT);
9082
REGISTER_LONG_CONSTANT("T_DNUMBER", T_DNUMBER, CONST_CS | CONST_PERSISTENT);
9183
REGISTER_LONG_CONSTANT("T_STRING", T_STRING, CONST_CS | CONST_PERSISTENT);
@@ -95,8 +87,10 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
9587
REGISTER_LONG_CONSTANT("T_CONSTANT_ENCAPSED_STRING", T_CONSTANT_ENCAPSED_STRING, CONST_CS | CONST_PERSISTENT);
9688
REGISTER_LONG_CONSTANT("T_STRING_VARNAME", T_STRING_VARNAME, CONST_CS | CONST_PERSISTENT);
9789
REGISTER_LONG_CONSTANT("T_NUM_STRING", T_NUM_STRING, CONST_CS | CONST_PERSISTENT);
90+
REGISTER_LONG_CONSTANT("T_EVAL", T_EVAL, CONST_CS | CONST_PERSISTENT);
9891
REGISTER_LONG_CONSTANT("T_EXIT", T_EXIT, CONST_CS | CONST_PERSISTENT);
9992
REGISTER_LONG_CONSTANT("T_IF", T_IF, CONST_CS | CONST_PERSISTENT);
93+
REGISTER_LONG_CONSTANT("T_ENDIF", T_ENDIF, CONST_CS | CONST_PERSISTENT);
10094
REGISTER_LONG_CONSTANT("T_ECHO", T_ECHO, CONST_CS | CONST_PERSISTENT);
10195
REGISTER_LONG_CONSTANT("T_DO", T_DO, CONST_CS | CONST_PERSISTENT);
10296
REGISTER_LONG_CONSTANT("T_WHILE", T_WHILE, CONST_CS | CONST_PERSISTENT);
@@ -125,6 +119,12 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
125119
REGISTER_LONG_CONSTANT("T_USE", T_USE, CONST_CS | CONST_PERSISTENT);
126120
REGISTER_LONG_CONSTANT("T_INSTEADOF", T_INSTEADOF, CONST_CS | CONST_PERSISTENT);
127121
REGISTER_LONG_CONSTANT("T_GLOBAL", T_GLOBAL, CONST_CS | CONST_PERSISTENT);
122+
REGISTER_LONG_CONSTANT("T_STATIC", T_STATIC, CONST_CS | CONST_PERSISTENT);
123+
REGISTER_LONG_CONSTANT("T_ABSTRACT", T_ABSTRACT, CONST_CS | CONST_PERSISTENT);
124+
REGISTER_LONG_CONSTANT("T_FINAL", T_FINAL, CONST_CS | CONST_PERSISTENT);
125+
REGISTER_LONG_CONSTANT("T_PRIVATE", T_PRIVATE, CONST_CS | CONST_PERSISTENT);
126+
REGISTER_LONG_CONSTANT("T_PROTECTED", T_PROTECTED, CONST_CS | CONST_PERSISTENT);
127+
REGISTER_LONG_CONSTANT("T_PUBLIC", T_PUBLIC, CONST_CS | CONST_PERSISTENT);
128128
REGISTER_LONG_CONSTANT("T_VAR", T_VAR, CONST_CS | CONST_PERSISTENT);
129129
REGISTER_LONG_CONSTANT("T_UNSET", T_UNSET, CONST_CS | CONST_PERSISTENT);
130130
REGISTER_LONG_CONSTANT("T_ISSET", T_ISSET, CONST_CS | CONST_PERSISTENT);
@@ -170,7 +170,6 @@ char *get_token_type_name(int token_type)
170170

171171
case T_INCLUDE: return "T_INCLUDE";
172172
case T_INCLUDE_ONCE: return "T_INCLUDE_ONCE";
173-
case T_EVAL: return "T_EVAL";
174173
case T_REQUIRE: return "T_REQUIRE";
175174
case T_REQUIRE_ONCE: return "T_REQUIRE_ONCE";
176175
case T_LOGICAL_OR: return "T_LOGICAL_OR";
@@ -220,13 +219,6 @@ char *get_token_type_name(int token_type)
220219
case T_CLONE: return "T_CLONE";
221220
case T_ELSEIF: return "T_ELSEIF";
222221
case T_ELSE: return "T_ELSE";
223-
case T_ENDIF: return "T_ENDIF";
224-
case T_STATIC: return "T_STATIC";
225-
case T_ABSTRACT: return "T_ABSTRACT";
226-
case T_FINAL: return "T_FINAL";
227-
case T_PRIVATE: return "T_PRIVATE";
228-
case T_PROTECTED: return "T_PROTECTED";
229-
case T_PUBLIC: return "T_PUBLIC";
230222
case T_LNUMBER: return "T_LNUMBER";
231223
case T_DNUMBER: return "T_DNUMBER";
232224
case T_STRING: return "T_STRING";
@@ -236,8 +228,10 @@ char *get_token_type_name(int token_type)
236228
case T_CONSTANT_ENCAPSED_STRING: return "T_CONSTANT_ENCAPSED_STRING";
237229
case T_STRING_VARNAME: return "T_STRING_VARNAME";
238230
case T_NUM_STRING: return "T_NUM_STRING";
231+
case T_EVAL: return "T_EVAL";
239232
case T_EXIT: return "T_EXIT";
240233
case T_IF: return "T_IF";
234+
case T_ENDIF: return "T_ENDIF";
241235
case T_ECHO: return "T_ECHO";
242236
case T_DO: return "T_DO";
243237
case T_WHILE: return "T_WHILE";
@@ -266,6 +260,12 @@ char *get_token_type_name(int token_type)
266260
case T_USE: return "T_USE";
267261
case T_INSTEADOF: return "T_INSTEADOF";
268262
case T_GLOBAL: return "T_GLOBAL";
263+
case T_STATIC: return "T_STATIC";
264+
case T_ABSTRACT: return "T_ABSTRACT";
265+
case T_FINAL: return "T_FINAL";
266+
case T_PRIVATE: return "T_PRIVATE";
267+
case T_PROTECTED: return "T_PROTECTED";
268+
case T_PUBLIC: return "T_PUBLIC";
269269
case T_VAR: return "T_VAR";
270270
case T_UNSET: return "T_UNSET";
271271
case T_ISSET: return "T_ISSET";

ext/tokenizer/tokenizer_data_gen.sh

+6-6
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ echo '/*
4444

4545
echo 'void tokenizer_register_constants(INIT_FUNC_ARGS) {' >> $OUTFILE
4646
$AWK '
47-
/^#define T_(NOELSE|ERROR)/ { next }
48-
/^#define T_/ { print " REGISTER_LONG_CONSTANT(\"" $2 "\", " $2 ", CONST_CS | CONST_PERSISTENT);" }
47+
/^ T_(NOELSE|ERROR)/ { next }
48+
/^ T_/ { print " REGISTER_LONG_CONSTANT(\"" $1 "\", " $1 ", CONST_CS | CONST_PERSISTENT);" }
4949
' < $INFILE >> $OUTFILE
5050
echo ' REGISTER_LONG_CONSTANT("T_DOUBLE_COLON", T_PAAMAYIM_NEKUDOTAYIM, CONST_CS | CONST_PERSISTENT);' >> $OUTFILE
5151
echo '}' >> $OUTFILE
@@ -58,13 +58,13 @@ char *get_token_type_name(int token_type)
5858
' >> $OUTFILE
5959

6060
$AWK '
61-
/^#define T_PAAMAYIM_NEKUDOTAYIM/ {
61+
/^ T_PAAMAYIM_NEKUDOTAYIM/ {
6262
print " case T_PAAMAYIM_NEKUDOTAYIM: return \"T_DOUBLE_COLON\";"
6363
next
6464
}
65-
/^#define T_(NOELSE|ERROR)/ { next }
66-
/^#define T_/ {
67-
print " case " $2 ": return \"" $2 "\";"
65+
/^ T_(NOELSE|ERROR)/ { next }
66+
/^ T_/ {
67+
print " case " $1 ": return \"" $1 "\";"
6868
}
6969
' < $INFILE >> $OUTFILE
7070

main/build-defs.h.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* -*- C -*-
1+
/*
22
+----------------------------------------------------------------------+
33
| PHP Version 7 |
44
+----------------------------------------------------------------------+

main/internal_functions.c.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* -*- C -*-
1+
/*
22
+----------------------------------------------------------------------+
33
| PHP Version 7 |
44
+----------------------------------------------------------------------+

pear/Makefile.frag

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# -*- makefile -*-
2-
31
peardir=$(PEAR_INSTALLDIR)
42

53
# Skip all php.ini files altogether

travis/compile.sh

-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ $TS \
7171
--enable-ftp \
7272
--with-pspell=/usr \
7373
--with-enchant=/usr \
74-
--enable-wddx \
7574
--with-kerberos \
7675
--enable-sysvmsg \
7776
--enable-zend-test \

0 commit comments

Comments
 (0)