Skip to content

Commit e10069e

Browse files
committed
Update docs
- Refactored CMake-related docs into its own subdirectory - Removed embed SAPI file - Added SAPI, PHP and ZEND-related configuration values - Added few initial extension configuration docs - Synced docs here and there
1 parent ad28020 commit e10069e

Some content is hidden

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

48 files changed

+1163
-538
lines changed

README.md

Lines changed: 95 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -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)

docs/CONTRIBUTING.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ This is a monolithic repository consisting of the following files:
4747

4848
```sh
4949
📂 <php-build-system>
50-
└─📂 .github # GitHub directory
51-
└─📂 workflows # Workflows for GitHub actions
52-
└─📂 ...
53-
└─📂 bin # Helper development scripts, not part of the build system
50+
└─📂 .github # GitHub directory
51+
└─📂 workflows # Workflows for GitHub actions
5452
└─📂 ...
55-
└─📂 cmake # CMake-based PHP build system
56-
└─📂 ...
57-
└─📂 docs # Repository documentation
58-
└─📂 ...
59-
└─📂 patches # Patches needed for using CMake with PHP
60-
└─📂 ...
61-
└─📂 php-* # Downloaded PHP sources
62-
└─📂 ...
63-
├─📄 .editorconfig # EditorConfig https://editorconfig.org
64-
└─ ...
53+
└─📂 bin # Helper development scripts, not part of the build system
54+
└─📂 ...
55+
└─📂 cmake # CMake-based PHP build system
56+
└─📂 ...
57+
└─📂 docs # Repository documentation
58+
└─📂 ...
59+
└─📂 patches # Patches needed for using CMake with PHP
60+
└─📂 ...
61+
└─📂 php-* # Downloaded PHP sources
62+
└─📂 ...
63+
├─📄 .editorconfig # EditorConfig https://editorconfig.org
64+
└─ ...
6565
```

docs/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
![ElePHPant](images/elephpant.jpg)
44

5-
* [Introduction to CMake](/docs/cmake-intro.md)
6-
* [CMake-based PHP build system](/docs/cmake.md)
7-
* [Configuration](/docs/configuration.md)
5+
* CMake
6+
* [Introduction to CMake](/docs/cmake/introduction.md)
7+
* [CMake-based PHP build system](/docs/cmake/cmake.md)
8+
* [Configuration](/docs/cmake/configuration.md)
9+
* [CMake code style](/docs/cmake/cmake-code-style.md)
10+
* [PHP native and CMake-based build system differences](/docs/cmake/differences.md)
811
* [Dependencies in C/C++ projects](/docs/dependencies.md)
9-
* [CMake code style](/docs/cmake-code-style.md)
1012
* [Autotools-based PHP build system](/docs/autotools.md)
1113
* [Windows build system for PHP](/docs/windows.md)
12-
* [PHP native and CMake-based build system differences](/docs/differences.md)
13-
* [PHP embed SAPI module](/docs/embed.md)
1414
* [PHP installation](/docs/php-installation.md)
1515
* [Cross-compiling](/docs/cross-compiling.md)
1616
* [PHP build system evolution](/docs/evolution.md)

0 commit comments

Comments
 (0)