Skip to content

Commit 3f975af

Browse files
committed
Merge branch 'PHP-8.4'
2 parents e4233ce + a989a45 commit 3f975af

File tree

8 files changed

+254
-39
lines changed

8 files changed

+254
-39
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ trim_trailing_whitespace = false
2626
[COMMIT_EDITMSG]
2727
max_line_length = 80
2828

29-
[{CMakeLists.txt,*.{cmake,cmake.in}}]
29+
[{CMakeLists.{txt,txt.in},*.{cmake,cmake.in}}]
3030
indent_size = 2

cmake/Zend/CMakeLists.txt

Lines changed: 98 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,6 @@ mark_as_advanced(ZEND_MAX_EXECUTION_TIMERS)
8181
add_library(zend OBJECT)
8282
add_library(Zend::Zend ALIAS zend)
8383

84-
file(GLOB _zend_headers ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
85-
# Exclude Windows header and specify it below separately.
86-
list(FILTER _zend_headers EXCLUDE REGEX ".*zend_config\\.w32\\.h$")
87-
8884
target_sources(
8985
zend
9086
PRIVATE
@@ -183,8 +179,105 @@ target_sources(
183179
PUBLIC
184180
FILE_SET HEADERS
185181
FILES
186-
${_zend_headers}
182+
zend_alloc_sizes.h
183+
zend_alloc.h
184+
zend_API.h
185+
zend_arena.h
186+
zend_ast.h
187+
zend_atomic.h
188+
zend_attributes_arginfo.h
189+
zend_attributes.h
190+
zend_bitset.h
191+
zend_build.h
192+
zend_builtin_functions_arginfo.h
193+
zend_builtin_functions.h
194+
zend_call_stack.h
195+
zend_closures_arginfo.h
196+
zend_closures.h
197+
zend_compile.h
187198
$<$<PLATFORM_ID:Windows>:zend_config.w32.h>
199+
zend_constants_arginfo.h
200+
zend_constants.h
201+
zend_cpuinfo.h
202+
zend_dtrace.h
203+
zend_enum_arginfo.h
204+
zend_enum.h
205+
zend_errors.h
206+
zend_exceptions_arginfo.h
207+
zend_exceptions.h
208+
zend_execute.h
209+
zend_extensions.h
210+
zend_fibers_arginfo.h
211+
zend_fibers.h
212+
zend_float.h
213+
zend_frameless_function.h
214+
zend_gc.h
215+
zend_gdb.h
216+
zend_generators_arginfo.h
217+
zend_generators.h
218+
zend_globals_macros.h
219+
zend_globals.h
220+
zend_hash.h
221+
zend_highlight.h
222+
zend_hrtime.h
223+
zend_inheritance.h
224+
zend_ini_parser.h
225+
zend_ini_scanner_defs.h
226+
zend_ini_scanner.h
227+
zend_ini.h
228+
zend_interfaces_arginfo.h
229+
zend_interfaces.h
230+
zend_iterators.h
231+
zend_language_parser.h
232+
zend_language_scanner_defs.h
233+
zend_language_scanner.h
234+
zend_lazy_objects.h
235+
zend_list.h
236+
zend_llist.h
237+
zend_long.h
238+
zend_map_ptr.h
239+
zend_max_execution_timer.h
240+
zend_mmap.h
241+
zend_modules.h
242+
zend_multibyte.h
243+
zend_multiply.h
244+
zend_object_handlers.h
245+
zend_objects_API.h
246+
zend_objects.h
247+
zend_observer.h
248+
zend_operators.h
249+
zend_portability.h
250+
zend_property_hooks.h
251+
zend_ptr_stack.h
252+
zend_range_check.h
253+
zend_signal.h
254+
zend_smart_str_public.h
255+
zend_smart_str.h
256+
zend_smart_string_public.h
257+
zend_smart_string.h
258+
zend_sort.h
259+
zend_stack.h
260+
zend_stream.h
261+
zend_string.h
262+
zend_strtod_int.h
263+
zend_strtod.h
264+
zend_system_id.h
265+
zend_type_info.h
266+
zend_types.h
267+
zend_variables.h
268+
zend_verify_type_inference.h
269+
zend_virtual_cwd.h
270+
zend_vm_def.h
271+
zend_vm_execute.h
272+
zend_vm_handlers.h
273+
zend_vm_opcodes.h
274+
zend_vm_trace_handlers.h
275+
zend_vm_trace_lines.h
276+
zend_vm_trace_map.h
277+
zend_vm.h
278+
zend_weakrefs_arginfo.h
279+
zend_weakrefs.h
280+
zend.h
188281
Optimizer/zend_call_graph.h
189282
Optimizer/zend_cfg.h
190283
Optimizer/zend_dfg.h

cmake/ext/gd/CMakeLists.txt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,6 @@ target_sources(
143143
)
144144

145145
if(NOT EXT_GD_EXTERNAL)
146-
file(GLOB _php_gd_libgd_headers ${CMAKE_CURRENT_SOURCE_DIR}/libgd/*.h)
147-
148146
target_sources(
149147
php_gd
150148
PRIVATE
@@ -191,7 +189,21 @@ if(NOT EXT_GD_EXTERNAL)
191189
PUBLIC
192190
FILE_SET HEADERS
193191
FILES
194-
${_php_gd_libgd_headers}
192+
libgd/bmp.h
193+
libgd/gd_errors.h
194+
libgd/gd_intern.h
195+
libgd/gd_io.h
196+
libgd/gd_tga.h
197+
libgd/gd.h
198+
libgd/gdcache.h
199+
libgd/gdfontg.h
200+
libgd/gdfontl.h
201+
libgd/gdfontmb.h
202+
libgd/gdfonts.h
203+
libgd/gdfontt.h
204+
libgd/gdhelpers.h
205+
libgd/jisx0208.h
206+
libgd/wbmp.h
195207
)
196208

197209
set(HAVE_GD_BUNDLED 1 CACHE INTERNAL "Whether the bundled libgd is used")

cmake/ext/mysqlnd/CMakeLists.txt

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ else()
5050
add_library(php_mysqlnd)
5151
endif()
5252

53-
file(GLOB _php_mysqlnd_headers ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
54-
# Exclude Windows header and specify it below separately.
55-
list(FILTER _php_mysqlnd_headers EXCLUDE REGEX ".*config-win\\.h$")
56-
5753
target_sources(
5854
php_mysqlnd
5955
PRIVATE
@@ -82,8 +78,33 @@ target_sources(
8278
PUBLIC
8379
FILE_SET HEADERS
8480
FILES
85-
${_php_mysqlnd_headers}
8681
$<$<PLATFORM_ID:Windows>:config-win.h>
82+
mysql_float_to_double.h
83+
mysqlnd_alloc.h
84+
mysqlnd_auth.h
85+
mysqlnd_block_alloc.h
86+
mysqlnd_charset.h
87+
mysqlnd_commands.h
88+
mysqlnd_connection.h
89+
mysqlnd_debug.h
90+
mysqlnd_enum_n_def.h
91+
mysqlnd_ext_plugin.h
92+
mysqlnd_libmysql_compat.h
93+
mysqlnd_plugin.h
94+
mysqlnd_portability.h
95+
mysqlnd_priv.h
96+
mysqlnd_protocol_frame_codec.h
97+
mysqlnd_ps.h
98+
mysqlnd_read_buffer.h
99+
mysqlnd_result_meta.h
100+
mysqlnd_result.h
101+
mysqlnd_reverse_api.h
102+
mysqlnd_statistics.h
103+
mysqlnd_structs.h
104+
mysqlnd_vio.h
105+
mysqlnd_wireprotocol.h
106+
mysqlnd.h
107+
php_mysqlnd.h
87108
)
88109

89110
target_compile_definitions(php_mysqlnd PRIVATE ZEND_ENABLE_STATIC_TSRMLS_CACHE=1)

cmake/ext/pcre/CMakeLists.txt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,6 @@ else()
111111
message(STATUS "Using bundled PCRE library")
112112

113113
block()
114-
file(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/pcre2lib/*.h)
115-
116-
# Exclude PCRE2 library config.h header as it uses the
117-
# HAVE_PCRE_VALGRIND_SUPPORT provided via compile definition by generator
118-
# expressions (not available in the PHP configuration headers). It isn't
119-
# required to use public headers. Perhaps more could be filtered and synced
120-
# with upstream PCRE installed headers.
121-
list(FILTER headers EXCLUDE REGEX ".*config\\.h$")
122-
123114
target_sources(
124115
php_pcre
125116
PRIVATE
@@ -154,7 +145,18 @@ else()
154145
PUBLIC
155146
FILE_SET HEADERS
156147
FILES
157-
${headers}
148+
# Exclude PCRE2 library config.h header as it uses the
149+
# HAVE_PCRE_VALGRIND_SUPPORT provided via compile definition by
150+
# generator expressions (not available in the PHP configuration
151+
# headers). It isn't required to use public headers. Perhaps more
152+
# could be filtered and synced with upstream PCRE installed headers.
153+
#pcre2lib/config.h
154+
pcre2lib/pcre2_internal.h
155+
pcre2lib/pcre2_intmodedep.h
156+
pcre2lib/pcre2_jit_neon_inc.h
157+
pcre2lib/pcre2_jit_simd_inc.h
158+
pcre2lib/pcre2_ucp.h
159+
pcre2lib/pcre2.h
158160
)
159161
endblock()
160162

cmake/ext/standard/CMakeLists.txt

Lines changed: 62 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ add_feature_info(
3434

3535
add_library(php_standard STATIC)
3636

37-
file(GLOB _php_standard_headers ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
38-
# Exclude Windows header and specify it below separately.
39-
list(FILTER _php_standard_headers EXCLUDE REGEX ".*winver\\.h$")
40-
4137
target_sources(
4238
php_standard
4339
PRIVATE
@@ -113,7 +109,68 @@ target_sources(
113109
PUBLIC
114110
FILE_SET HEADERS
115111
FILES
116-
${_php_standard_headers}
112+
base64.h
113+
basic_functions_arginfo.h
114+
basic_functions.h
115+
crc32_x86.h
116+
crc32.h
117+
credits_ext.h
118+
credits_sapi.h
119+
credits.h
120+
crypt_blowfish.h
121+
crypt_freesec.h
122+
css.h
123+
datetime.h
124+
dir_arginfo.h
125+
dl_arginfo.h
126+
dl.h
127+
exec.h
128+
file_arginfo.h
129+
file.h
130+
flock_compat.h
131+
fsock.h
132+
head.h
133+
html_tables.h
134+
html.h
135+
info.h
136+
md5.h
137+
pack.h
138+
pageinfo.h
139+
password_arginfo.h
140+
php_array.h
141+
php_assert.h
142+
php_browscap.h
143+
php_crypt_r.h
144+
php_crypt.h
145+
php_dir_int.h
146+
php_dir.h
147+
php_dns.h
148+
php_ext_syslog.h
149+
php_filestat.h
150+
php_fopen_wrappers.h
151+
php_http.h
152+
php_image.h
153+
php_incomplete_class.h
154+
php_mail.h
155+
php_math_round_mode.h
156+
php_math.h
157+
php_net.h
158+
php_password.h
159+
php_smart_string_public.h
160+
php_smart_string.h
161+
php_standard.h
162+
php_string.h
163+
php_uuencode.h
164+
php_var.h
165+
php_versioning.h
166+
proc_open.h
167+
quot_print.h
168+
scanf.h
169+
sha1.h
170+
streamsfuncs.h
171+
url_scanner_ex.h
172+
url.h
173+
user_filters_arginfo.h
117174
$<$<PLATFORM_ID:Windows>:winver.h>
118175
)
119176

cmake/main/CMakeLists.txt

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ include(FeatureSummary)
44
add_library(php_main STATIC)
55
add_library(PHP::main ALIAS php_main)
66

7-
file(GLOB_RECURSE _php_main_headers ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
8-
97
target_sources(
108
php_main
119
PRIVATE
@@ -47,11 +45,46 @@ target_sources(
4745
streams/xp_socket.c
4846
strlcat.c
4947
strlcpy.c
50-
${PHP_BINARY_DIR}/main/build-defs.h
5148
PUBLIC
5249
FILE_SET HEADERS
5350
FILES
54-
${_php_main_headers}
51+
fastcgi.h
52+
fopen_wrappers.h
53+
http_status_codes.h
54+
main_arginfo.h
55+
php_compat.h
56+
php_content_types.h
57+
php_getopt.h
58+
php_globals.h
59+
php_ini_builder.h
60+
php_ini.h
61+
php_main.h
62+
php_memory_streams.h
63+
php_network.h
64+
php_odbc_utils.h
65+
php_open_temporary_file.h
66+
php_output.h
67+
php_reentrancy.h
68+
php_scandir.h
69+
php_streams.h
70+
php_syslog.h
71+
php_ticks.h
72+
php_variables.h
73+
php_version.h
74+
php.h
75+
rfc1867.h
76+
SAPI.h
77+
snprintf.h
78+
spprintf.h
79+
streams/php_stream_context.h
80+
streams/php_stream_filter_api.h
81+
streams/php_stream_glob_wrapper.h
82+
streams/php_stream_mmap.h
83+
streams/php_stream_plain_wrapper.h
84+
streams/php_stream_transport.h
85+
streams/php_stream_userspace.h
86+
streams/php_streams_int.h
87+
streams/userspace_arginfo.h
5588
# A separate file set so binary dir can also be created within a source dir.
5689
PUBLIC
5790
FILE_SET HEADERS
@@ -125,12 +158,9 @@ target_link_libraries(
125158
# Link publicly for PHP SAPIs.
126159
PUBLIC
127160
PHP::configuration
161+
$<$<TARGET_EXISTS:PHP::win32>:PHP::win32>
128162
)
129163

130-
if(TARGET PHP::win32)
131-
target_link_libraries(php_main PUBLIC PHP::win32)
132-
endif()
133-
134164
# Add DTrace.
135165
if(PHP_DTRACE)
136166
message(CHECK_START "Checking for DTrace support")

0 commit comments

Comments
 (0)