Skip to content

Commit ce882e6

Browse files
committed
Merge branch 'PHP-8.4'
2 parents 582a6fc + 56bb50b commit ce882e6

File tree

6 files changed

+150
-33
lines changed

6 files changed

+150
-33
lines changed

cmake/cmake/platforms/Windows.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
5353

5454
set(HAVE_ACCEPT4 FALSE)
5555
set(HAVE_ALPHASORT FALSE)
56-
set(HAVE_ARC4RANDOM_BUF FALSE)
5756
set(HAVE_ARPA_INET_H FALSE)
5857
set(HAVE_ARPA_NAMESER_H FALSE)
5958
set(HAVE_ASPRINTF FALSE)
6059
set(HAVE_CHROOT FALSE)
6160
set(HAVE_CLOCK_GETTIME_NSEC_NP FALSE)
62-
set(HAVE_COMMONCRYPTO_COMMONRANDOM_H FALSE)
6361
set(HAVE_CPUID_H FALSE)
6462
set(HAVE_DIRENT_H FALSE)
6563
set(HAVE_DLFCN_H FALSE)
@@ -76,7 +74,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
7674
set(HAVE_GETLOADAVG FALSE)
7775
set(HAVE_GETPWNAM_R FALSE)
7876
set(HAVE_GETPWUID_R FALSE)
79-
set(HAVE_GETRANDOM FALSE)
8077
set(HAVE_GETTID FALSE)
8178
set(HAVE_GETWD FALSE)
8279
set(HAVE_GLOB FALSE)
@@ -199,6 +196,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
199196
set(PHP_EXT_GD_HAS_FLOORF TRUE)
200197
set(PHP_EXT_OPCACHE_HAS_FLOOR TRUE)
201198
set(PHP_EXT_OPCACHE_HAVE_MPROTECT FALSE)
199+
set(PHP_EXT_RANDOM_HAVE_COMMONCRYPTO_COMMONRANDOM_H FALSE)
200+
set(PHP_EXT_RANDOM_HAVE_ARC4RANDOM_BUF FALSE)
201+
set(PHP_EXT_RANDOM_HAVE_GETRANDOM FALSE)
202202
set(PHP_HAS_CREATEPROCESS TRUE)
203203
set(PHP_HAS_DN_EXPAND FALSE)
204204
set(PHP_HAS_DN_SKIPNAME FALSE)

cmake/ext/gettext/CMakeLists.txt

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,36 @@ if(TARGET Intl::Intl)
9292
)
9393
endif()
9494

95-
check_symbol_exists(bind_textdomain_codeset libintl.h HAVE_BIND_TEXTDOMAIN_CODESET)
96-
check_symbol_exists(dcngettext libintl.h HAVE_DCNGETTEXT)
97-
check_symbol_exists(dngettext libintl.h HAVE_DNGETTEXT)
98-
check_symbol_exists(ngettext libintl.h HAVE_NGETTEXT)
95+
check_symbol_exists(
96+
bind_textdomain_codeset
97+
libintl.h
98+
PHP_EXT_GETTEXT_HAVE_BIND_TEXTDOMAIN_CODESET
99+
)
100+
set(
101+
HAVE_BIND_TEXTDOMAIN_CODESET
102+
${PHP_EXT_GETTEXT_HAVE_BIND_TEXTDOMAIN_CODESET}
103+
)
104+
105+
check_symbol_exists(
106+
dcngettext
107+
libintl.h
108+
PHP_EXT_GETTEXT_HAVE_DCNGETTEXT
109+
)
110+
set(HAVE_DCNGETTEXT ${PHP_EXT_GETTEXT_HAVE_DCNGETTEXT})
111+
112+
check_symbol_exists(
113+
dngettext
114+
libintl.h
115+
PHP_EXT_GETTEXT_HAVE_DNGETTEXT
116+
)
117+
set(HAVE_DNGETTEXT ${PHP_EXT_GETTEXT_HAVE_DNGETTEXT})
118+
119+
check_symbol_exists(
120+
ngettext
121+
libintl.h
122+
PHP_EXT_GETTEXT_HAVE_NGETTEXT
123+
)
124+
set(HAVE_NGETTEXT ${PHP_EXT_GETTEXT_HAVE_NGETTEXT})
99125
cmake_pop_check_state()
100126

101127
# Create a symbolic link when intl is built into musl C library. The gettext

cmake/ext/ldap/CMakeLists.txt

Lines changed: 81 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,25 +121,94 @@ if(TARGET LDAP::LDAP)
121121
ldap_set_rebind_proc(0, 0, 0);
122122
return 0;
123123
}
124-
]] HAVE_3ARG_SETREBINDPROC)
125-
if(HAVE_3ARG_SETREBINDPROC)
124+
]] PHP_EXT_LDAP_HAVE_3ARG_SETREBINDPROC)
125+
if(PHP_EXT_LDAP_HAVE_3ARG_SETREBINDPROC)
126126
message(CHECK_PASS "yes")
127127
else()
128128
message(CHECK_PASS "no")
129129
endif()
130+
set(HAVE_3ARG_SETREBINDPROC ${PHP_EXT_LDAP_HAVE_3ARG_SETREBINDPROC})
130131

131132
# Solaris 2.8 claims to be 2004 API, but doesn't have ldap_parse_reference()
132133
# nor ldap_start_tls_s().
133-
check_symbol_exists(ldap_control_find ldap.h HAVE_LDAP_CONTROL_FIND)
134-
check_symbol_exists(ldap_extended_operation ldap.h HAVE_LDAP_EXTENDED_OPERATION)
135-
check_symbol_exists(ldap_extended_operation_s ldap.h HAVE_LDAP_EXTENDED_OPERATION_S)
136-
check_symbol_exists(ldap_parse_extended_result ldap.h HAVE_LDAP_PARSE_EXTENDED_RESULT)
137-
check_symbol_exists(ldap_parse_reference ldap.h HAVE_LDAP_PARSE_REFERENCE)
138-
check_symbol_exists(ldap_parse_result ldap.h HAVE_LDAP_PARSE_RESULT)
139-
check_symbol_exists(ldap_passwd ldap.h HAVE_LDAP_PASSWD)
140-
check_symbol_exists(ldap_refresh_s ldap.h HAVE_LDAP_REFRESH_S)
141-
check_symbol_exists(ldap_start_tls_s ldap.h HAVE_LDAP_START_TLS_S)
142-
check_symbol_exists(ldap_whoami_s ldap.h HAVE_LDAP_WHOAMI_S)
134+
check_symbol_exists(
135+
ldap_control_find
136+
ldap.h
137+
PHP_EXT_LDAP_HAVE_LDAP_CONTROL_FIND
138+
)
139+
set(HAVE_LDAP_CONTROL_FIND ${PHP_EXT_LDAP_HAVE_LDAP_CONTROL_FIND})
140+
141+
check_symbol_exists(
142+
ldap_extended_operation
143+
ldap.h
144+
PHP_EXT_LDAP_HAVE_LDAP_EXTENDED_OPERATION
145+
)
146+
set(
147+
HAVE_LDAP_EXTENDED_OPERATION
148+
${PHP_EXT_LDAP_HAVE_LDAP_EXTENDED_OPERATION}
149+
)
150+
151+
check_symbol_exists(
152+
ldap_extended_operation_s
153+
ldap.h
154+
PHP_EXT_LDAP_HAVE_LDAP_EXTENDED_OPERATION_S
155+
)
156+
set(
157+
HAVE_LDAP_EXTENDED_OPERATION_S
158+
${PHP_EXT_LDAP_HAVE_LDAP_EXTENDED_OPERATION_S}
159+
)
160+
161+
check_symbol_exists(
162+
ldap_parse_extended_result
163+
ldap.h
164+
PHP_EXT_LDAP_HAVE_LDAP_PARSE_EXTENDED_RESULT
165+
)
166+
set(
167+
HAVE_LDAP_PARSE_EXTENDED_RESULT
168+
${PHP_EXT_LDAP_HAVE_LDAP_PARSE_EXTENDED_RESULT}
169+
)
170+
171+
check_symbol_exists(
172+
ldap_parse_reference
173+
ldap.h
174+
PHP_EXT_LDAP_HAVE_LDAP_PARSE_REFERENCE
175+
)
176+
set(HAVE_LDAP_PARSE_REFERENCE ${PHP_EXT_LDAP_HAVE_LDAP_PARSE_REFERENCE})
177+
178+
check_symbol_exists(
179+
ldap_parse_result
180+
ldap.h
181+
PHP_EXT_LDAP_HAVE_LDAP_PARSE_RESULT
182+
)
183+
set(HAVE_LDAP_PARSE_RESULT ${PHP_EXT_LDAP_HAVE_LDAP_PARSE_RESULT})
184+
185+
check_symbol_exists(
186+
ldap_passwd
187+
ldap.h
188+
PHP_EXT_LDAP_HAVE_LDAP_PASSWD
189+
)
190+
set(HAVE_LDAP_PASSWD ${PHP_EXT_LDAP_HAVE_LDAP_PASSWD})
191+
192+
check_symbol_exists(
193+
ldap_refresh_s
194+
ldap.h
195+
PHP_EXT_LDAP_HAVE_LDAP_REFRESH_S
196+
)
197+
set(HAVE_LDAP_REFRESH_S ${PHP_EXT_LDAP_HAVE_LDAP_REFRESH_S})
198+
199+
check_symbol_exists(
200+
ldap_start_tls_s
201+
ldap.h
202+
PHP_EXT_LDAP_HAVE_LDAP_START_TLS_S
203+
)
204+
set(HAVE_LDAP_START_TLS_S ${PHP_EXT_LDAP_HAVE_LDAP_START_TLS_S})
205+
206+
check_symbol_exists(
207+
ldap_whoami_s
208+
ldap.h
209+
PHP_EXT_LDAP_HAVE_LDAP_WHOAMI_S
210+
)
211+
set(HAVE_LDAP_WHOAMI_S ${PHP_EXT_LDAP_HAVE_LDAP_WHOAMI_S})
143212
cmake_pop_check_state()
144213
endif()
145214

cmake/ext/odbc/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,10 +291,11 @@ target_link_libraries(php_ext_odbc PRIVATE ODBC::ODBC)
291291
if(PHP_EXT_ODBC_TYPE STREQUAL "ibm-db2" AND TARGET ODBC::ODBC)
292292
cmake_push_check_state(RESET)
293293
set(CMAKE_REQUIRED_LIBRARIES ODBC::ODBC)
294-
check_include_files(sqlcli1.h HAVE_SQLCLI1_H)
294+
check_include_files(sqlcli1.h PHP_EXT_ODBC_HAVE_SQLCLI1_H)
295+
set(HAVE_SQLCLI1_H ${PHP_EXT_ODBC_HAVE_SQLCLI1_H})
295296
cmake_pop_check_state()
296297

297-
if(NOT HAVE_SQLCLI1_H)
298+
if(NOT PHP_EXT_ODBC_HAVE_SQLCLI1_H)
298299
message(FATAL_ERROR "Required <sqlcli1.h> header file not found.")
299300
endif()
300301

cmake/ext/random/CMakeLists.txt

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,39 @@ target_sources(
4848
php_random.h
4949
)
5050

51-
target_compile_definitions(php_ext_random PRIVATE ZEND_ENABLE_STATIC_TSRMLS_CACHE)
51+
target_compile_definitions(
52+
php_ext_random
53+
PRIVATE ZEND_ENABLE_STATIC_TSRMLS_CACHE
54+
)
55+
56+
check_symbol_exists(
57+
arc4random_buf
58+
stdlib.h
59+
PHP_EXT_RANDOM_HAVE_ARC4RANDOM_BUF
60+
)
61+
set(HAVE_ARC4RANDOM_BUF ${PHP_EXT_RANDOM_HAVE_ARC4RANDOM_BUF})
5262

53-
check_symbol_exists(arc4random_buf stdlib.h HAVE_ARC4RANDOM_BUF)
54-
check_symbol_exists(getrandom sys/random.h HAVE_GETRANDOM)
63+
check_symbol_exists(getrandom sys/random.h PHP_EXT_RANDOM_HAVE_GETRANDOM)
64+
set(HAVE_GETRANDOM ${PHP_EXT_RANDOM_HAVE_GETRANDOM})
5565

5666
# Check for CCRandomGenerateBytes. Header was absent in previous macOS releases.
5767
block()
58-
set(headers
59-
sys/types.h
60-
Availability.h
61-
CommonCrypto/CommonCryptoError.h
62-
CommonCrypto/CommonRandom.h
68+
set(
69+
headers
70+
sys/types.h
71+
Availability.h
72+
CommonCrypto/CommonCryptoError.h
73+
CommonCrypto/CommonRandom.h
6374
)
6475

65-
check_include_files("${headers}" HAVE_COMMONCRYPTO_COMMONRANDOM_H)
76+
check_include_files(
77+
"${headers}"
78+
PHP_EXT_RANDOM_HAVE_COMMONCRYPTO_COMMONRANDOM_H
79+
)
80+
set(
81+
HAVE_COMMONCRYPTO_COMMONRANDOM_H
82+
${PHP_EXT_RANDOM_HAVE_COMMONCRYPTO_COMMONRANDOM_H}
83+
)
6684
endblock()
6785

6886
configure_file(cmake/config.h.in config.h)

cmake/ext/snmp/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,20 +84,23 @@ if(TARGET NetSnmp::NetSnmp)
8484
check_symbol_exists(
8585
shutdown_snmp_logging
8686
"net-snmp/net-snmp-config.h;net-snmp/net-snmp-includes.h"
87-
HAVE_SHUTDOWN_SNMP_LOGGING
87+
PHP_EXT_SNMP_HAVE_SHUTDOWN_SNMP_LOGGING
8888
)
89+
set(HAVE_SHUTDOWN_SNMP_LOGGING ${PHP_EXT_SNMP_HAVE_SHUTDOWN_SNMP_LOGGING})
8990

9091
check_symbol_exists(
9192
usmHMAC192SHA256AuthProtocol
9293
"net-snmp/net-snmp-config.h;net-snmp/net-snmp-includes.h"
93-
HAVE_SNMP_SHA256
94+
PHP_EXT_SNMP_HAVE_SNMP_SHA256
9495
)
96+
set(HAVE_SNMP_SHA256 ${PHP_EXT_SNMP_HAVE_SNMP_SHA256})
9597

9698
check_symbol_exists(
9799
usmHMAC384SHA512AuthProtocol
98100
"net-snmp/net-snmp-config.h;net-snmp/net-snmp-includes.h"
99-
HAVE_SNMP_SHA512
101+
PHP_EXT_SNMP_HAVE_SNMP_SHA512
100102
)
103+
set(HAVE_SNMP_SHA512 ${PHP_EXT_SNMP_HAVE_SNMP_SHA512})
101104
cmake_pop_check_state()
102105
endif()
103106

0 commit comments

Comments
 (0)