@@ -144,98 +144,99 @@ PHP tests and other associated files:
144144
145145``` sh
146146📂 < php-src>
147- ├─📂 .git # Git configuration and source directory
148- ├─📂 benchmark # Benchmark some common applications in CI
149- ├─📂 build # *nix build system files
150- ├─📂 docs # PHP internals documentation
151- └─📂 ext # PHP core extensions
152- └─📂 bcmath # The bcmath PHP extension
153- ├─📂 libbcmath # The bcmath library forked and maintained in php-src
154- ├─📂 tests # *.phpt test files for extension
155- ├─📄 bcmath.stub.php # A stub file for the bcmath extension functions
156- └─📄 ...
157- └─📂 curl # The curl PHP extension
158- ├─📄 sync-constants.php # The curl symbols checker
159- └─📄 ...
160- └─📂 date # The date/time PHP extension
161- └─📂 lib # Bundled datetime library https://github.com/derickr/timelib
162- └─📄 ...
163- └─📄 ...
164- ├─📂 dl_test # Extension for testing dl()
165- └─📂 dom
166- ├─📂 lexbor # https://github.com/lexbor/lexbor
167- └─📄 ...
168- └─📂 ffi # The FFI PHP extension
169- ├─📄 ffi_parser.c # Generated by https://github.com/dstogov/llk
170- └─📄 ...
171- └─📂 fileinfo # The fileinfo PHP extension
172- ├─📂 libmagic # Modified libmagic https://github.com/file/file
173- ├─📄 data_file.c # Generated by `ext/fileinfo/create_data_file.php`
174- ├─📄 libmagic.patch # Modifications patch from upstream libmagic
175- ├─📄 magicdata.patch # Modifications patch from upstream libmagic
176- └─📄 ...
177- └─📂 gd # The GD PHP extension
178- ├─📂 libgd # Bundled and modified GD library https://github.com/libgd/libgd
179- └─📄 ...
180- └─📂 mbstring # The Multibyte string PHP extension
181- ├─📂 libmbfl # Forked and maintained in php-src
182- ├─📄 unicode_data.h # Generated by `ext/mbstring/ucgendat/ucgendat.php`
183- └─📄 ...
184- └─📂 opcache # The OPcache PHP extension
185- └─📂 jit # OPcache Jit
186- └─📂 ir # Bundled part of IR framework https://github.com/dstogov/ir
187- └─📂 dynasm # DynASM encoding engine
188- ├─📄 minilua.c # Customized Lua scripting language to build LuaJIT
189- └─📄 ...
190- ├─📄 gen_ir_fold_hash # IR folding engine generator created at build
191- ├─📄 ir_emit_< arch> .h # IR folding engine rules generated by minilua
192- ├─📄 minilua # Executable tool created at build
193- └─📄 ...
194- └─📂 pcre # The PCRE PHP extension
195- ├─📂 pcre2lib # https://www.pcre.org/
196- └─📄 ...
197- ├─📂 skeleton # Skeleton for new extensions using `ext/ext_skel.php`
198- └─📂 standard # Always enabled core extension
199- └─📂 html_tables
200- ├─📂 mappings # https://www.unicode.org/Public/MAPPINGS/
147+ ├─📂 .git # Git configuration and source directory
148+ ├─📂 benchmark # Benchmark some common applications in CI
149+ ├─📂 build # *nix build system files
150+ ├─📂 docs # PHP internals documentation
151+ └─📂 ext # PHP core extensions
152+ └─📂 bcmath # The bcmath PHP extension
153+ ├─📂 libbcmath # The bcmath library forked and maintained in php-src
154+ ├─📂 tests # *.phpt test files for extension
155+ ├─📄 bcmath.stub.php # A stub file for the bcmath extension functions
156+ └─📄 ...
157+ └─📂 curl # The curl PHP extension
158+ ├─📄 sync-constants.php # The curl symbols checker
159+ └─📄 ...
160+ └─📂 date # The date/time PHP extension
161+ └─📂 lib # Bundled datetime library https://github.com/derickr/timelib
162+ └─📄 ...
163+ └─📄 ...
164+ ├─📂 dl_test # Extension for testing dl()
165+ └─📂 dom
166+ ├─📂 lexbor # https://github.com/lexbor/lexbor
167+ └─📄 ...
168+ └─📂 ffi # The FFI PHP extension
169+ ├─📄 ffi_parser.c # Generated by https://github.com/dstogov/llk
170+ └─📄 ...
171+ └─📂 fileinfo # The fileinfo PHP extension
172+ ├─📂 libmagic # Modified libmagic https://github.com/file/file
173+ ├─📄 data_file.c # Generated by `ext/fileinfo/create_data_file.php`
174+ ├─📄 libmagic.patch # Modifications patch from upstream libmagic
175+ ├─📄 magicdata.patch # Modifications patch from upstream libmagic
176+ └─📄 ...
177+ └─📂 gd # The GD PHP extension
178+ ├─📂 libgd # Bundled and modified GD library https://github.com/libgd/libgd
179+ └─📄 ...
180+ └─📂 mbstring # The Multibyte string PHP extension
181+ ├─📂 libmbfl # Forked and maintained in php-src
182+ ├─📄 unicode_data.h # Generated by `ext/mbstring/ucgendat/ucgendat.php`
183+ └─📄 ...
184+ └─📂 opcache # The OPcache PHP extension
185+ └─📂 jit # OPcache Jit
186+ └─📂 ir # Bundled part of IR framework https://github.com/dstogov/ir
187+ └─📂 dynasm # DynASM encoding engine
188+ ├─📄 minilua.c # Customized Lua scripting language to build LuaJIT
201189 └─📄 ...
202- ├─📄 credits_ext.h # Generated by `scripts/dev/credits`
203- ├─📄 credits_sapi.h # Generated by `scripts/dev/credits`
204- ├─📄 html_tables.h # Generated by `ext/standard/html_tables/html_table_gen.php`
205- └─📄 ...
206- └─📂 tokenizer # The tokenizer PHP extension
207- ├─📄 tokenizer_data.c # Generated by `ext/tokenizer/tokenizer_data_gen.php`
208- ├─📄 tokenizer_data_stub.php # Generated by `ext/tokenizer/tokenizer_data_gen.php`
209- └─📄 ...
210- └─📂 zend_test # For testing internal APIs. Not needed for regular builds
211- └─📄 ...
212- └─📂 zip/ # Bundled https://github.com/pierrejoye/php_zip
213- └─📄 ...
214- ├─📂 ...
215- └─📄 ext_skel.php # Helper script that creates a new PHP extension
216- └─📂 main # Binding that ties extensions, SAPIs, Zend engine and TSRM together
217- ├─📂 streams # Streams layer subsystem
190+ ├─📄 gen_ir_fold_hash # IR folding engine generator created at build
191+ ├─📄 ir_emit_< arch> .h # IR folding engine rules generated by minilua
192+ ├─📄 minilua # Executable tool created at build
193+ └─📄 ...
194+ └─📂 pcre # The PCRE PHP extension
195+ ├─📂 pcre2lib # https://www.pcre.org/
196+ └─📄 ...
197+ ├─📂 skeleton # Skeleton for new extensions using `ext/ext_skel.php`
198+ └─📂 standard # Always enabled core extension
199+ └─📂 html_tables
200+ ├─📂 mappings # https://www.unicode.org/Public/MAPPINGS/
201+ └─📄 ...
202+ ├─📄 credits_ext.h # Generated by `scripts/dev/credits`
203+ ├─📄 credits_sapi.h # Generated by `scripts/dev/credits`
204+ ├─📄 html_tables.h # Generated by `ext/standard/html_tables/html_table_gen.php`
205+ └─📄 ...
206+ └─📂 tokenizer # The tokenizer PHP extension
207+ ├─📄 tokenizer_data.c # Generated by `ext/tokenizer/tokenizer_data_gen.php`
208+ ├─📄 tokenizer_data_stub.php # Generated by `ext/tokenizer/tokenizer_data_gen.php`
209+ └─📄 ...
210+ └─📂 zend_test # For testing internal APIs. Not needed for regular builds
218211 └─📄 ...
219- ├─📂 modules # Shared libraries, created when building PHP
220- ├─📂 pear # PEAR installation
221- └─📂 sapi # PHP SAPI (Server API) modules
222- └─📂 cli # Command-line PHP SAPI module
223- ├─📄 mime_type_map.h # Generated by `sapi/cli/generate_mime_type_map.php`
224- └─📄 ...
212+ └─📂 zip/ # Bundled https://github.com/pierrejoye/php_zip
225213 └─📄 ...
226- ├─📂 scripts # php-config, phpize and internal development scripts
227- ├─📂 tests # Core features tests
228- ├─📂 TSRM # Thread safe resource manager
229- └─📂 Zend # Zend engine
230- ├─📂 asm # Bundled from src/asm in https://github.com/boostorg/context
231- ├─📂 Optimizer # For faster PHP execution through opcode caching and optimization
232- ├─📂 tests # PHP tests *.phpt files for Zend engine
233- ├─📄 zend_vm_execute.h # Generated by `Zend/zend_vm_gen.php`
234- ├─📄 zend_vm_opcodes.c # Generated by `Zend/zend_vm_gen.php`
235- ├─📄 zend_vm_opcodes.h # Generated by `Zend/zend_vm_gen.php`
214+ ├─📂 ...
215+ └─📄 ext_skel.php # Helper script that creates a new PHP extension
216+ └─📂 main # Binding that ties extensions, SAPIs, Zend engine and TSRM together
217+ ├─📂 streams # Streams layer subsystem
218+ ├─📄 debug_gdb_scripts.c # Generated by `scripts/gdb/debug_gdb_scripts_gen.php`
219+ └─📄 ...
220+ ├─📂 modules # Shared libraries, created when building PHP
221+ ├─📂 pear # PEAR installation
222+ └─📂 sapi # PHP SAPI (Server API) modules
223+ └─📂 cli # Command-line PHP SAPI module
224+ ├─📄 mime_type_map.h # Generated by `sapi/cli/generate_mime_type_map.php`
236225 └─📄 ...
237- ├─📂 win32 # Windows build files
238- └─📄 ...
226+ └─📄 ...
227+ ├─📂 scripts # php-config, phpize and internal development scripts
228+ ├─📂 tests # Core features tests
229+ ├─📂 TSRM # Thread safe resource manager
230+ └─📂 Zend # Zend engine
231+ ├─📂 asm # Bundled from src/asm in https://github.com/boostorg/context
232+ ├─📂 Optimizer # For faster PHP execution through opcode caching and optimization
233+ ├─📂 tests # PHP tests *.phpt files for Zend engine
234+ ├─📄 zend_vm_execute.h # Generated by `Zend/zend_vm_gen.php`
235+ ├─📄 zend_vm_opcodes.c # Generated by `Zend/zend_vm_gen.php`
236+ ├─📄 zend_vm_opcodes.h # Generated by `Zend/zend_vm_gen.php`
237+ └─📄 ...
238+ ├─📂 win32 # Windows build files
239+ └─📄 ...
239240```
240241
241242## Why CMake?
@@ -258,15 +259,15 @@ some even incorporate it alongside CMake.
258259
259260## Documentation
260261
261- * [ Introduction to CMake] ( /docs/cmake-intro.md )
262- * [ CMake-based PHP build system] ( /docs/cmake.md )
263- * [ Configuration] ( /docs/configuration.md )
262+ * CMake
263+ * [ Introduction to CMake] ( /docs/cmake/introduction.md )
264+ * [ CMake-based PHP build system] ( /docs/cmake/cmake.md )
265+ * [ Configuration] ( /docs/cmake/configuration.md )
266+ * [ CMake code style] ( /docs/cmake/cmake-code-style.md )
267+ * [ PHP native and CMake-based build system differences] ( /docs/cmake/differences.md )
264268* [ Dependencies in C/C++ projects] ( /docs/dependencies.md )
265- * [ CMake code style] ( /docs/cmake-code-style.md )
266269* [ Autotools-based PHP build system] ( /docs/autotools.md )
267270* [ Windows build system for PHP] ( /docs/windows.md )
268- * [ PHP native and CMake-based build system differences] ( /docs/differences.md )
269- * [ PHP embed SAPI module] ( /docs/embed.md )
270271* [ PHP installation] ( /docs/php-installation.md )
271272* [ Cross-compiling] ( /docs/cross-compiling.md )
272273* [ PHP build system evolution] ( /docs/evolution.md )
0 commit comments