Skip to content

Commit 389d091

Browse files
committed
Merge branch 'PHP-8.3' into PHP-8.4
2 parents 3c3e28f + 81d6a6e commit 389d091

File tree

75 files changed

+908
-897
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+908
-897
lines changed

cmake/cmake/Configuration.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Project-wide configuration options and variables that can be configured during
33
the configuration phase via GUI or command line:
44
5-
cmake -D PHP_OPTION=... -D ZEND_OPTION=... -D EXT_... -S <path-to-source> ...
5+
cmake -DPHP_<SOME_OPTION>=[ON|OFF] ... -S <source-dir> -B <build-dir> ...
66
77
To see the list of customizable configuration variables with help texts:
88
cmake -LH <path-to-source>

cmake/cmake/Testing.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ block()
1818

1919
get_property(extensions GLOBAL PROPERTY PHP_EXTENSIONS)
2020
foreach(extension IN LISTS extensions)
21-
get_target_property(type php_ext_${extension} TYPE)
21+
get_target_property(type PHP::ext::${extension} TYPE)
2222
if(type MATCHES "^(MODULE|SHARED)_LIBRARY$")
23-
get_target_property(isZendExtension php_ext_${extension} PHP_ZEND_EXTENSION)
23+
get_target_property(isZendExtension PHP::ext::${extension} PHP_ZEND_EXTENSION)
2424
if(isZendExtension)
2525
list(APPEND options -d zend_extension=${extension})
2626
elseif(NOT extension STREQUAL "dl_test")

cmake/cmake/modules/PHP/Extensions.cmake

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,13 @@ function(php_extensions_preprocess)
7979
foreach(extension IN LISTS extensions)
8080
string(TOUPPER "${extension}" extensionUpper)
8181

82-
if(NOT EXT_${extensionUpper})
82+
if(NOT PHP_EXT_${extensionUpper})
8383
continue()
8484
endif()
8585

8686
# Mark shared option variable as advanced.
87-
if(DEFINED EXT_${extensionUpper}_SHARED)
88-
mark_as_advanced(EXT_${extensionUpper}_SHARED)
87+
if(DEFINED PHP_EXT_${extensionUpper}_SHARED)
88+
mark_as_advanced(PHP_EXT_${extensionUpper}_SHARED)
8989
endif()
9090

9191
_php_extensions_get_dependencies("${extension}" dependencies)
@@ -95,17 +95,20 @@ function(php_extensions_preprocess)
9595
foreach(dependency IN LISTS dependencies)
9696
string(TOUPPER "${dependency}" dependencyUpper)
9797

98-
if(EXT_${dependencyUpper}_SHARED AND NOT EXT_${extensionUpper}_SHARED)
98+
if(
99+
PHP_EXT_${dependencyUpper}_SHARED
100+
AND NOT PHP_EXT_${extensionUpper}_SHARED
101+
)
99102
message(
100103
WARNING
101104
"The '${extension}' extension must be built as a shared library as "
102105
"its dependency '${dependency}' extension is configured as shared. "
103-
"The 'EXT_${extensionUpper}_SHARED' option has been automatically "
104-
"set to 'ON'."
106+
"The 'PHP_EXT_${extensionUpper}_SHARED' option has been "
107+
"automatically set to 'ON'."
105108
)
106109

107110
set(
108-
EXT_${extensionUpper}_SHARED
111+
PHP_EXT_${extensionUpper}_SHARED
109112
ON
110113
CACHE BOOL
111114
"Build the ${extension} extension as a shared library"
@@ -317,19 +320,19 @@ function(_php_extensions_eval_options directories)
317320
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/${extension}/CMakeLists.txt content)
318321
string(TOUPPER "${extension}" extensionUpper)
319322

320-
# Check if extension has option(EXT_<extension> ...).
323+
# Check if extension has option(PHP_EXT_<extension> ...).
321324
_php_extensions_remove_comments(content)
322-
_php_extensions_option_regex("EXT_${extensionUpper}" regex)
325+
_php_extensions_option_regex("PHP_EXT_${extensionUpper}" regex)
323326
string(REGEX MATCH "${regex}" code "${content}")
324327

325328
if(code)
326329
cmake_language(EVAL CODE "${code}")
327330
unset(code)
328331
endif()
329332

330-
# If extension has cmake_dependent_option(EXT_<extension> ...).
333+
# If extension has cmake_dependent_option(PHP_EXT_<extension> ...).
331334
_php_extensions_cmake_dependent_option_regex(
332-
"EXT_${extensionUpper}"
335+
"PHP_EXT_${extensionUpper}"
333336
regex
334337
)
335338
string(REGEX MATCH "${regex}" code "${content}")
@@ -340,9 +343,9 @@ function(_php_extensions_eval_options directories)
340343
unset(code)
341344
endif()
342345

343-
# If extension has cmake_dependent_option(EXT_<extension>_SHARED ...).
346+
# If extension has cmake_dependent_option(PHP_EXT_<extension>_SHARED ...).
344347
_php_extensions_cmake_dependent_option_regex(
345-
"EXT_${extensionUpper}_SHARED"
348+
"PHP_EXT_${extensionUpper}_SHARED"
346349
regex
347350
)
348351

@@ -382,7 +385,7 @@ function(php_extensions_postconfigure extension)
382385
string(TOUPPER "${dependency}" dependencyUpper)
383386

384387
if(
385-
EXT_${dependencyUpper}
388+
PHP_EXT_${dependencyUpper}
386389
OR dependency IN_LIST alwaysEnabledExtensions
387390
OR NOT dependency IN_LIST allExtensions
388391
)
@@ -392,15 +395,15 @@ function(php_extensions_postconfigure extension)
392395
message(
393396
WARNING
394397
"The '${extension}' extension requires the '${dependency}' extension. "
395-
"The 'EXT_${dependencyUpper}' option has been automatically set to "
398+
"The 'PHP_EXT_${dependencyUpper}' option has been automatically set to "
396399
"'ON'."
397400
)
398401

399-
if(DEFINED CACHE{EXT_${dependencyUpper}})
400-
set_property(CACHE EXT_${dependencyUpper} PROPERTY VALUE ON)
402+
if(DEFINED CACHE{PHP_EXT_${dependencyUpper}})
403+
set_property(CACHE PHP_EXT_${dependencyUpper} PROPERTY VALUE ON)
401404
else()
402405
set(
403-
EXT_${dependencyUpper}
406+
PHP_EXT_${dependencyUpper}
404407
ON
405408
CACHE BOOL
406409
"Enable the ${dependency} extension"
@@ -542,7 +545,7 @@ function(_php_extensions_validate)
542545
"You've enabled the '${extension}' extension, which depends on the "
543546
"'${dependency}' extension, but you've either not enabled "
544547
"'${dependency}', or have disabled it. Please set "
545-
"'EXT_${dependencyUpper}' to 'ON' if available."
548+
"'PHP_EXT_${dependencyUpper}' to 'ON' if available."
546549
)
547550
endif()
548551

cmake/cmake/modules/PHP/FeatureSummary.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ function(php_feature_summary)
249249
APPEND
250250
sharedExtensionsSummary
251251
" * ${extension}\n"
252-
" Set 'EXT_${extensionUpper}_SHARED' to 'ON' (its dependency "
252+
" Set 'PHP_EXT_${extensionUpper}_SHARED' to 'ON' (its dependency "
253253
"${dependency} extension will be built as shared)\n"
254254
)
255255
endif()
@@ -266,7 +266,7 @@ function(php_feature_summary)
266266
APPEND
267267
message
268268
" * ${extension}\n"
269-
" Set 'EXT_${extensionUpper}' to 'ON'\n"
269+
" Set 'PHP_EXT_${extensionUpper}' to 'ON'\n"
270270
)
271271
list(JOIN _phpFeatureSummaryReason_${extension} ", " reasons)
272272
string(APPEND message " (Required by ${reasons})\n")

cmake/cmake/modules/PHP/Stubs.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ function(_php_stubs_get_php_command result)
1616
# tokenizer extension.
1717
if(
1818
NOT PHPSystem_EXECUTABLE
19-
AND (NOT TARGET PHP::SAPI::cli OR (TARGET PHP::SAPI::cli AND NOT EXT_TOKENIZER))
19+
AND (
20+
NOT TARGET PHP::SAPI::cli
21+
OR (TARGET PHP::SAPI::cli AND NOT TARGET PHP::ext::tokenizer)
22+
)
2023
)
2124
return(PROPAGATE ${result})
2225
endif()
@@ -44,7 +47,8 @@ function(_php_stubs_get_php_command result)
4447
return(PROPAGATE ${result})
4548
endif()
4649

47-
if(EXT_TOKENIZER_SHARED)
50+
get_target_property(type PHP::ext::tokenizer TYPE)
51+
if(type MATCHES "^(MODULE|SHARED)_LIBRARY$")
4852
list(
4953
APPEND
5054
command

cmake/cmake/presets/all-disabled.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@
88
"binaryDir": "${sourceDir}/php-build/all-disabled",
99
"installDir": "/tmp",
1010
"cacheVariables": {
11-
"EXT_COM_DOTNET": false,
12-
"EXT_CTYPE": false,
13-
"EXT_DOM": false,
14-
"EXT_FILEINFO": false,
15-
"EXT_FILTER": false,
16-
"EXT_ICONV": false,
17-
"EXT_LIBXML": false,
18-
"EXT_OPCACHE": false,
19-
"EXT_PDO": false,
20-
"EXT_PDO_SQLITE": false,
21-
"EXT_PHAR": false,
22-
"EXT_POSIX": false,
23-
"EXT_SESSION": false,
24-
"EXT_SIMPLEXML": false,
25-
"EXT_SQLITE3": false,
26-
"EXT_TOKENIZER": false,
27-
"EXT_XML": false,
28-
"EXT_XMLREADER": false,
29-
"EXT_XMLWRITER": false,
11+
"PHP_EXT_COM_DOTNET": false,
12+
"PHP_EXT_CTYPE": false,
13+
"PHP_EXT_DOM": false,
14+
"PHP_EXT_FILEINFO": false,
15+
"PHP_EXT_FILTER": false,
16+
"PHP_EXT_ICONV": false,
17+
"PHP_EXT_LIBXML": false,
18+
"PHP_EXT_OPCACHE": false,
19+
"PHP_EXT_PDO": false,
20+
"PHP_EXT_PDO_SQLITE": false,
21+
"PHP_EXT_PHAR": false,
22+
"PHP_EXT_POSIX": false,
23+
"PHP_EXT_SESSION": false,
24+
"PHP_EXT_SIMPLEXML": false,
25+
"PHP_EXT_SQLITE3": false,
26+
"PHP_EXT_TOKENIZER": false,
27+
"PHP_EXT_XML": false,
28+
"PHP_EXT_XMLREADER": false,
29+
"PHP_EXT_XMLWRITER": false,
3030

3131
"PHP_SAPI_CGI": false,
3232
"PHP_SAPI_PHPDBG": false

cmake/cmake/presets/all-enabled.json

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -10,61 +10,61 @@
1010
"cacheVariables": {
1111
"PHP_PEAR": true,
1212

13-
"EXT_BCMATH": true,
14-
"EXT_BZ2": true,
15-
"EXT_CALENDAR": true,
16-
"EXT_CURL": true,
17-
"EXT_DBA": true,
18-
"EXT_DBA_LMDB": true,
19-
"EXT_DBA_QDBM": true,
20-
"EXT_DBA_TCADB": true,
21-
"EXT_DL_TEST": true,
22-
"EXT_ENCHANT": true,
23-
"EXT_EXIF": true,
24-
"EXT_FFI": true,
25-
"EXT_FTP": true,
26-
"EXT_GD": true,
27-
"EXT_GD_AVIF": true,
28-
"EXT_GD_WEBP": true,
29-
"EXT_GD_JPEG": true,
30-
"EXT_GD_XPM": true,
31-
"EXT_GD_FREETYPE": true,
32-
"EXT_GD_JIS": true,
33-
"EXT_GETTEXT": true,
34-
"EXT_GMP": true,
35-
"EXT_HASH_MHASH": true,
36-
"EXT_INTL": true,
37-
"EXT_LDAP": true,
38-
"EXT_LDAP_SASL": true,
39-
"EXT_MBSTRING": true,
40-
"EXT_MYSQLI": true,
41-
"EXT_MYSQL_SOCKET": true,
42-
"EXT_MYSQLND": true,
43-
"EXT_ODBC": true,
44-
"EXT_OPCACHE_CAPSTONE": true,
45-
"EXT_OPENSSL": true,
46-
"EXT_PCNTL": true,
47-
"EXT_PDO_DBLIB": true,
48-
"EXT_PDO_FIREBIRD": true,
49-
"EXT_PDO_MYSQL": true,
50-
"EXT_PDO_ODBC": true,
51-
"EXT_PDO_PGSQL": true,
52-
"EXT_PGSQL": true,
53-
"EXT_READLINE": true,
54-
"EXT_SHMOP": true,
55-
"EXT_SNMP": true,
56-
"EXT_SOAP": true,
57-
"EXT_SOCKETS": true,
58-
"EXT_SODIUM": true,
59-
"EXT_STANDARD_ARGON2": true,
60-
"EXT_SYSVMSG": true,
61-
"EXT_SYSVSEM": true,
62-
"EXT_SYSVSHM": true,
63-
"EXT_TIDY": true,
64-
"EXT_XSL": true,
65-
"EXT_ZEND_TEST": true,
66-
"EXT_ZIP": true,
67-
"EXT_ZLIB": true,
13+
"PHP_EXT_BCMATH": true,
14+
"PHP_EXT_BZ2": true,
15+
"PHP_EXT_CALENDAR": true,
16+
"PHP_EXT_CURL": true,
17+
"PHP_EXT_DBA": true,
18+
"PHP_EXT_DBA_LMDB": true,
19+
"PHP_EXT_DBA_QDBM": true,
20+
"PHP_EXT_DBA_TCADB": true,
21+
"PHP_EXT_DL_TEST": true,
22+
"PHP_EXT_ENCHANT": true,
23+
"PHP_EXT_EXIF": true,
24+
"PHP_EXT_FFI": true,
25+
"PHP_EXT_FTP": true,
26+
"PHP_EXT_GD": true,
27+
"PHP_EXT_GD_AVIF": true,
28+
"PHP_EXT_GD_WEBP": true,
29+
"PHP_EXT_GD_JPEG": true,
30+
"PHP_EXT_GD_XPM": true,
31+
"PHP_EXT_GD_FREETYPE": true,
32+
"PHP_EXT_GD_JIS": true,
33+
"PHP_EXT_GETTEXT": true,
34+
"PHP_EXT_GMP": true,
35+
"PHP_EXT_HASH_MHASH": true,
36+
"PHP_EXT_INTL": true,
37+
"PHP_EXT_LDAP": true,
38+
"PHP_EXT_LDAP_SASL": true,
39+
"PHP_EXT_MBSTRING": true,
40+
"PHP_EXT_MYSQLI": true,
41+
"PHP_EXT_MYSQL_SOCKET": true,
42+
"PHP_EXT_MYSQLND": true,
43+
"PHP_EXT_ODBC": true,
44+
"PHP_EXT_OPCACHE_CAPSTONE": true,
45+
"PHP_EXT_OPENSSL": true,
46+
"PHP_EXT_PCNTL": true,
47+
"PHP_EXT_PDO_DBLIB": true,
48+
"PHP_EXT_PDO_FIREBIRD": true,
49+
"PHP_EXT_PDO_MYSQL": true,
50+
"PHP_EXT_PDO_ODBC": true,
51+
"PHP_EXT_PDO_PGSQL": true,
52+
"PHP_EXT_PGSQL": true,
53+
"PHP_EXT_READLINE": true,
54+
"PHP_EXT_SHMOP": true,
55+
"PHP_EXT_SNMP": true,
56+
"PHP_EXT_SOAP": true,
57+
"PHP_EXT_SOCKETS": true,
58+
"PHP_EXT_SODIUM": true,
59+
"PHP_EXT_STANDARD_ARGON2": true,
60+
"PHP_EXT_SYSVMSG": true,
61+
"PHP_EXT_SYSVSEM": true,
62+
"PHP_EXT_SYSVSHM": true,
63+
"PHP_EXT_TIDY": true,
64+
"PHP_EXT_XSL": true,
65+
"PHP_EXT_ZEND_TEST": true,
66+
"PHP_EXT_ZIP": true,
67+
"PHP_EXT_ZLIB": true,
6868

6969
"PHP_SAPI_EMBED": true,
7070
"PHP_SAPI_FPM": true,
@@ -105,13 +105,13 @@
105105
"PHP_DMALLOC": true,
106106
"PHP_DTRACE": true,
107107

108-
"EXT_DBA_CDB_EXTERNAL": true,
109-
"EXT_OPENSSL_SYSTEM_CIPHERS": true,
110-
"EXT_PCRE_EXTERNAL": true,
111-
"EXT_PDO_MYSQL_DRIVER": "mysql",
112-
"EXT_SESSION_MM": true,
113-
"EXT_STANDARD_CRYPT_EXTERNAL": true,
114-
"EXT_XML_EXPAT": true
108+
"PHP_EXT_DBA_CDB_EXTERNAL": true,
109+
"PHP_EXT_OPENSSL_SYSTEM_CIPHERS": true,
110+
"PHP_EXT_PCRE_EXTERNAL": true,
111+
"PHP_EXT_PDO_MYSQL_DRIVER": "mysql",
112+
"PHP_EXT_SESSION_MM": true,
113+
"PHP_EXT_STANDARD_CRYPT_EXTERNAL": true,
114+
"PHP_EXT_XML_EXPAT": true
115115
}
116116
},
117117
{

cmake/cmake/toolchains/template.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ set(HAVE_FLUSHIO_EXITCODE 1)
173173
set(HAVE_FNMATCH_EXITCODE 0)
174174

175175
# Set the exit codes for the algos checks when using external crypt library
176-
# (EXT_STANDARD_CRYPT_EXTERNAL).
176+
# (PHP_EXT_STANDARD_CRYPT_EXTERNAL).
177177
set(_PHP_CRYPT_HAVE_BLOWFISH_EXITCODE 0)
178178
set(_PHP_CRYPT_HAVE_EXT_DES_EXITCODE 0)
179179
set(_PHP_CRYPT_HAVE_MD5_EXITCODE 0)

0 commit comments

Comments
 (0)