Skip to content

Commit 2d32da0

Browse files
committed
Merge branch 'PHP-8.4'
2 parents 1b30fea + 816c678 commit 2d32da0

File tree

14 files changed

+98
-112
lines changed

14 files changed

+98
-112
lines changed

cmake/Zend/CMakeLists.txt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -413,16 +413,15 @@ cmake_push_check_state(RESET)
413413
check_symbol_exists(mremap sys/mman.h HAVE_MREMAP)
414414
cmake_pop_check_state()
415415

416-
# BSD-based systems have pthread_attr_get_np in pthread_np.h.
417416
block()
418-
check_include_files(pthread_np.h _HAVE_PTHREAD_NP_H)
417+
set(headers pthread.h)
419418

420-
if(_HAVE_PTHREAD_NP_H)
421-
set(headers "pthread_np.h")
419+
# BSD-based systems have pthread_attr_get_np in pthread_np.h.
420+
check_include_files(pthread_np.h _PHP_HAVE_PTHREAD_NP_H)
421+
if(_PHP_HAVE_PTHREAD_NP_H)
422+
list(APPEND headers "pthread_np.h")
422423
endif()
423424

424-
list(APPEND headers pthread.h)
425-
426425
check_symbol_exists(
427426
pthread_attr_get_np
428427
"${headers}"

cmake/cmake/modules/PHP/CheckFopencookie.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ include(CMakePushCheckState)
3737

3838
cmake_push_check_state(RESET)
3939
set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
40-
check_symbol_exists(fopencookie stdio.h _HAVE_FOPENCOOKIE)
40+
check_symbol_exists(fopencookie stdio.h _PHP_HAVE_FOPENCOOKIE)
4141
cmake_pop_check_state()
4242

43-
if(NOT _HAVE_FOPENCOOKIE)
43+
if(NOT _PHP_HAVE_FOPENCOOKIE)
4444
return()
4545
endif()
4646

cmake/cmake/modules/PHP/CheckGethostbynameR.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ function(_php_check_gethostbyname_r)
6565
HEADERS netdb.h
6666
LIBRARIES
6767
nsl # Solaris <= 11.3, illumos
68-
VARIABLE _HAVE_GETHOSTBYNAME_R
68+
VARIABLE _PHP_HAVE_GETHOSTBYNAME_R
6969
LIBRARY_VARIABLE library
7070
)
71-
if(NOT _HAVE_GETHOSTBYNAME_R)
71+
if(NOT _PHP_HAVE_GETHOSTBYNAME_R)
7272
message(CHECK_FAIL "not found")
7373
return()
7474
endif()

cmake/cmake/modules/PHP/CheckSegmentsAlignment.cmake

Lines changed: 54 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ include(PHP/CheckSegmentsAlignment)
1313

1414
include_guard(GLOBAL)
1515

16-
include(CheckLinkerFlag)
1716
include(CheckSourceRuns)
1817
include(CMakePushCheckState)
1918

@@ -30,129 +29,105 @@ if(
3029
return()
3130
endif()
3231

33-
check_linker_flag(
34-
C
35-
"LINKER:-z,common-page-size=2097152;LINKER:-z,max-page-size=2097152"
36-
_HAVE_ALIGNMENT_FLAGS_C
37-
)
32+
cmake_push_check_state(RESET)
33+
set(
34+
CMAKE_REQUIRED_LINK_OPTIONS
35+
LINKER:-z,common-page-size=2097152
36+
LINKER:-z,max-page-size=2097152
37+
)
38+
set(CMAKE_REQUIRED_QUIET TRUE)
3839

39-
if(_HAVE_ALIGNMENT_FLAGS_C)
40+
check_source_runs(
41+
C
42+
[[int main(void) { return 0; }]]
43+
PHP_HAVE_ALIGNMENT_FLAGS_C
44+
)
45+
cmake_pop_check_state()
46+
47+
if(PHP_HAVE_ALIGNMENT_FLAGS_C)
48+
target_link_options(
49+
php_config
50+
INTERFACE
51+
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:ASM,C>>:LINKER:-z,common-page-size=2097152;LINKER:-z,max-page-size=2097152>
52+
)
53+
else()
4054
cmake_push_check_state(RESET)
4155
set(
4256
CMAKE_REQUIRED_LINK_OPTIONS
43-
LINKER:-z,common-page-size=2097152
4457
LINKER:-z,max-page-size=2097152
4558
)
59+
set(CMAKE_REQUIRED_QUIET TRUE)
60+
4661
check_source_runs(
4762
C
4863
[[int main(void) { return 0; }]]
49-
PHP_HAVE_ALIGNMENT_FLAGS_C
64+
PHP_HAVE_MAX_PAGE_SIZE_C
5065
)
5166
cmake_pop_check_state()
5267

53-
if(PHP_HAVE_ALIGNMENT_FLAGS_C)
68+
if(PHP_HAVE_MAX_PAGE_SIZE_C)
5469
target_link_options(
5570
php_config
5671
INTERFACE
57-
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:ASM,C>>:LINKER:-z,common-page-size=2097152;LINKER:-z,max-page-size=2097152>
72+
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:ASM,C>>:LINKER:-z,max-page-size=2097152>
5873
)
5974
endif()
60-
else()
61-
check_linker_flag(
62-
C
63-
"LINKER:-z,max-page-size=2097152"
64-
_HAVE_ZMAX_PAGE_SIZE_C
65-
)
66-
67-
if(_HAVE_ZMAX_PAGE_SIZE_C)
68-
cmake_push_check_state(RESET)
69-
set(
70-
CMAKE_REQUIRED_LINK_OPTIONS
71-
LINKER:-z,max-page-size=2097152
72-
)
73-
check_source_runs(
74-
C
75-
[[int main(void) { return 0; }]]
76-
PHP_HAVE_ZMAX_PAGE_SIZE_C
77-
)
78-
cmake_pop_check_state()
79-
80-
if(PHP_HAVE_ZMAX_PAGE_SIZE_C)
81-
target_link_options(
82-
php_config
83-
INTERFACE
84-
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:ASM,C>>:LINKER:-z,max-page-size=2097152>
85-
)
86-
endif()
87-
endif()
8875
endif()
8976

9077
get_property(enabledLanguages GLOBAL PROPERTY ENABLED_LANGUAGES)
9178

9279
if(CXX IN_LIST enabledLanguages)
93-
check_linker_flag(
94-
CXX
95-
"LINKER:-z,common-page-size=2097152;LINKER:-z,max-page-size=2097152"
96-
_HAVE_ALIGNMENT_FLAGS_CXX
97-
)
80+
cmake_push_check_state(RESET)
81+
set(
82+
CMAKE_REQUIRED_LINK_OPTIONS
83+
LINKER:-z,common-page-size=2097152
84+
LINKER:-z,max-page-size=2097152
85+
)
86+
set(CMAKE_REQUIRED_QUIET TRUE)
87+
88+
check_source_runs(
89+
CXX
90+
[[int main(void) { return 0; }]]
91+
PHP_HAVE_ALIGNMENT_FLAGS_CXX
92+
)
93+
cmake_pop_check_state()
9894

99-
if(_HAVE_ALIGNMENT_FLAGS_CXX)
95+
if(PHP_HAVE_ALIGNMENT_FLAGS_CXX)
96+
target_link_options(
97+
php_config
98+
INTERFACE
99+
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:CXX>>:LINKER:-z,common-page-size=2097152;LINKER:-z,max-page-size=2097152;>
100+
)
101+
else()
100102
cmake_push_check_state(RESET)
101103
set(
102104
CMAKE_REQUIRED_LINK_OPTIONS
103-
LINKER:-z,common-page-size=2097152
104105
LINKER:-z,max-page-size=2097152
105106
)
107+
set(CMAKE_REQUIRED_QUIET TRUE)
108+
106109
check_source_runs(
107110
CXX
108111
[[int main(void) { return 0; }]]
109-
PHP_HAVE_ALIGNMENT_FLAGS_CXX
112+
PHP_HAVE_MAX_PAGE_SIZE_CXX
110113
)
111114
cmake_pop_check_state()
112115

113-
if(PHP_HAVE_ALIGNMENT_FLAGS_CXX)
116+
if(PHP_HAVE_MAX_PAGE_SIZE_CXX)
114117
target_link_options(
115118
php_config
116119
INTERFACE
117-
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:CXX>>:LINKER:-z,common-page-size=2097152;LINKER:-z,max-page-size=2097152;>
120+
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:CXX>>:LINKER:-z,max-page-size=2097152>
118121
)
119122
endif()
120-
else()
121-
check_linker_flag(
122-
CXX
123-
"LINKER:-z,max-page-size=2097152"
124-
_HAVE_ZMAX_PAGE_SIZE_CXX
125-
)
126-
127-
if(_HAVE_ZMAX_PAGE_SIZE_CXX)
128-
cmake_push_check_state(RESET)
129-
set(
130-
CMAKE_REQUIRED_LINK_OPTIONS
131-
LINKER:-z,max-page-size=2097152
132-
)
133-
check_source_runs(
134-
CXX
135-
[[int main(void) { return 0; }]]
136-
PHP_HAVE_ZMAX_PAGE_SIZE_CXX
137-
)
138-
cmake_pop_check_state()
139-
140-
if(PHP_HAVE_ZMAX_PAGE_SIZE_CXX)
141-
target_link_options(
142-
php_config
143-
INTERFACE
144-
$<$<AND:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>,$<LINK_LANGUAGE:CXX>>:LINKER:-z,max-page-size=2097152>
145-
)
146-
endif()
147-
endif()
148123
endif()
149124
endif()
150125

151126
if(
152127
PHP_HAVE_ALIGNMENT_FLAGS_C
153128
OR PHP_HAVE_ALIGNMENT_FLAGS_CXX
154-
OR PHP_HAVE_ZMAX_PAGE_SIZE_C
155-
OR PHP_HAVE_ZMAX_PAGE_SIZE_CXX
129+
OR PHP_HAVE_MAX_PAGE_SIZE_C
130+
OR PHP_HAVE_MAX_PAGE_SIZE_CXX
156131
)
157132
message(CHECK_PASS "done")
158133
else()

cmake/cmake/toolchains/template.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ set(HAVE_GETADDRINFO_EXITCODE 0)
2525
# Set the exit codes for the alignment segments checks.
2626
# See PHP/CheckSegmentsAlignment.cmake
2727
set(PHP_HAVE_ALIGNMENT_FLAGS_C_EXITCODE 0)
28-
set(PHP_HAVE_ZMAX_PAGE_SIZE_C_EXITCODE 0)
28+
set(PHP_HAVE_MAX_PAGE_SIZE_C_EXITCODE 0)
2929
set(PHP_HAVE_ALIGNMENT_FLAGS_CXX_EXITCODE 0)
30-
set(PHP_HAVE_ZMAX_PAGE_SIZE_CXX_EXITCODE 0)
30+
set(PHP_HAVE_MAX_PAGE_SIZE_CXX_EXITCODE 0)
3131

3232
# Set the exit code for check of GNU C compiler with broken strlen optimization
3333
# (relevant only for GCC version 8.2).

cmake/ext/curl/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,14 @@ set_package_properties(
8383
PURPOSE "Necessary to enable the curl extension."
8484
)
8585

86+
target_compile_options(
87+
php_ext_curl
88+
PRIVATE
89+
$<$<PLATFORM_ID:Windows>:PHP_CURL_EXPORTS>
90+
# TODO: Add CURL_STATICLIB when curl is static library on Windows:
91+
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${TODO}>>:CURL_STATICLIB>
92+
)
93+
8694
target_link_libraries(php_ext_curl PRIVATE CURL::libcurl)
8795

8896
# Check whether to link against OpenSSL to have crypto locking callbacks when

cmake/ext/opcache/cmake/CheckSHM.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,11 +216,11 @@ php_search_libraries(
216216
HEADERS sys/mman.h
217217
LIBRARIES
218218
rt # Solaris <= 10, older Linux
219-
VARIABLE _HAVE_SHM_OPEN
219+
VARIABLE _PHP_HAVE_SHM_OPEN
220220
LIBRARY_VARIABLE libraryForShmOpen
221221
)
222222

223-
if(_HAVE_SHM_OPEN)
223+
if(_PHP_HAVE_SHM_OPEN)
224224
cmake_push_check_state(RESET)
225225
if(libraryForShmOpen)
226226
set(CMAKE_REQUIRED_LIBRARIES ${libraryForShmOpen})

cmake/ext/pcre/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,12 +232,12 @@ else()
232232
message(CHECK_START "Checking whether Intel CET is enabled")
233233
cmake_push_check_state(RESET)
234234
set(CMAKE_REQUIRED_QUIET TRUE)
235-
check_symbol_exists(__CET__ "" _HAVE_PCRE2_INTEL_CET)
235+
check_symbol_exists(__CET__ "" _PHP_HAVE_PCRE2_INTEL_CET)
236236
cmake_pop_check_state()
237-
if(_HAVE_PCRE2_INTEL_CET)
237+
if(_PHP_HAVE_PCRE2_INTEL_CET)
238238
message(CHECK_PASS "yes")
239-
php_check_compiler_flag(C -mshstk _HAVE_MSHSTK_C)
240-
if(_HAVE_MSHSTK_C)
239+
php_check_compiler_flag(C -mshstk _PHP_HAVE_MSHSTK_C)
240+
if(_PHP_HAVE_MSHSTK_C)
241241
target_compile_options(php_ext_pcre PRIVATE -mshstk)
242242
endif()
243243
else()

cmake/ext/pdo_odbc/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,19 +221,19 @@ if(TARGET ODBC::ODBC)
221221
endblock()
222222

223223
# Check for an ODBC 1.0 function to assert that the libraries work.
224-
check_library_exists(ODBC::ODBC SQLBindCol "" _HAVE_SQLBINDCOL)
224+
check_library_exists(ODBC::ODBC SQLBindCol "" _PHP_HAVE_SQLBINDCOL)
225225

226-
if(NOT _HAVE_SQLBINDCOL)
226+
if(NOT _PHP_HAVE_SQLBINDCOL)
227227
message(
228228
FATAL_ERROR
229229
"Could not find the SQLBindCol ODBC 1.0 function in the ODBC library."
230230
)
231231
endif()
232232

233233
# Check for an ODBC 3.0 function to assert that the libraries work.
234-
check_library_exists(ODBC::ODBC SQLAllocHandle "" _HAVE_SQLALLOCHANDLE)
234+
check_library_exists(ODBC::ODBC SQLAllocHandle "" _PHP_HAVE_SQLALLOCHANDLE)
235235

236-
if(NOT _HAVE_SQLALLOCHANDLE)
236+
if(NOT _PHP_HAVE_SQLALLOCHANDLE)
237237
message(
238238
FATAL_ERROR
239239
"The ODBC library does not appear to be ODBC 3 compatible (the ODBC 3.0 "

cmake/ext/posix/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
3434
return()
3535
endif()
3636

37+
include(CheckIncludeFiles)
3738
include(CheckStructHasMember)
3839
include(CheckSymbolExists)
3940
include(CMakeDependentOption)
@@ -86,14 +87,16 @@ check_symbol_exists(getpgid unistd.h HAVE_GETPGID)
8687
check_symbol_exists(getrlimit sys/resource.h HAVE_GETRLIMIT)
8788
check_symbol_exists(getsid unistd.h HAVE_GETSID)
8889

89-
# BSD-based systems have initgroups in unistd.h but still have grp.h file.
90+
# BSD-based systems have initgroups in unistd.h, elsewhere it is in grp.h.
9091
block()
9192
set(headers "")
9293

94+
check_include_files(grp.h HAVE_GRP_H)
9395
if(HAVE_GRP_H)
9496
list(APPEND headers "grp.h")
9597
endif()
9698

99+
check_include_files(unistd.h HAVE_UNISTD_H)
97100
if(HAVE_UNISTD_H)
98101
list(APPEND headers "unistd.h")
99102
endif()

0 commit comments

Comments
 (0)