Skip to content

Commit c6fe385

Browse files
committed
Update docs
1 parent dfa8f60 commit c6fe385

File tree

7 files changed

+385
-342
lines changed

7 files changed

+385
-342
lines changed

docs/CONTRIBUTING.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,20 @@ The following labels are used:
4646
This is a monolithic repository consisting of the following files:
4747

4848
```sh
49-
<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
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
49+
🗁 <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
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
6464
└─ ...
6565
```

docs/autotools.md

Lines changed: 72 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -82,51 +82,51 @@ cause issues for C developers today.
8282
PHP build system is a collection of various files across the php-src repository:
8383
8484
```sh
85-
<php-src>/
86-
└─ build/
87-
├─ ax_*.m4 # https://github.com/autoconf-archive/autoconf-archive
88-
├─ config-stubs # Adds extension and SAPI config*.m4 stubs to configure
89-
├─ config.guess # https://git.savannah.gnu.org/cgit/config.git
90-
├─ config.sub # https://git.savannah.gnu.org/cgit/config.git
91-
├─ genif.sh # Generator for the internal_functions* files
92-
├─ libtool.m4 # Forked https://git.savannah.gnu.org/cgit/libtool.git
93-
├─ ltmain.sh # Forked https://git.savannah.gnu.org/cgit/libtool.git
94-
├─ Makefile.global # Root Makefile template when configure is run
95-
├─ order_by_dep.awk # Used by genif.sh
96-
├─ php.m4 # PHP Autoconf macros
97-
├─ pkg.m4 # https://gitlab.freedesktop.org/pkg-config/pkg-config
98-
├─ print_include.awk # Used by genif.sh
99-
└─ shtool # https://www.gnu.org/software/shtool/
100-
└─ ext/
101-
└─ bcmath/
102-
└─ config.m4 # Extension's Autoconf file
103-
└─ date/
104-
└─ config0.m4 # Suffix 0 priority adds file before other config.m4 extension files
105-
└─ mysqlnd/
106-
└─ config9.m4 # Suffix 9 priority adds file after other config.m4 files
107-
└─ opcache/
108-
└─ jit/
109-
└─ Makefile.frag # Makefile fragment for OPcache Jit
110-
└─ config.m4 # Autoconf file for OPcache extension
111-
└─ main/
112-
├─ build-defs.h # Generated by configure
113-
├─ build-defs.h.in # Template for build definitions
114-
├─ php_config.h # Generated by configure
115-
├─ php_config.h.in # Generated header template by buildconf
116-
└─ php_version.h # Generated by release managers using `configure`
117-
├─ pear/
118-
└─ sapi/
119-
└─ cli/
120-
└─ config.m4 # Autoconf M4 file for SAPI
121-
├─ scripts/
122-
└─ TSRM/
123-
├─ threads.m4 # Autoconf macros for pthreads
124-
└─ tsrm.m4 # Autoconf macros for TSRM
125-
└─ Zend/
126-
├─ Makefile.frag # Makefile fragment for Zend engine
127-
└─ Zend.m4 # Autoconf macros for Zend engine
128-
├─ buildconf # Wrapper for autoconf and autoheader tools
129-
└─ configure.ac # Autoconf main input file for creating configure script
85+
🗁 <php-src>
86+
└─🗁 build
87+
├─📄 ax_*.m4 # https://github.com/autoconf-archive/autoconf-archive
88+
├─📄 config-stubs # Adds extension and SAPI config*.m4 stubs to configure
89+
├─📄 config.guess # https://git.savannah.gnu.org/cgit/config.git
90+
├─📄 config.sub # https://git.savannah.gnu.org/cgit/config.git
91+
├─📄 genif.sh # Generator for the internal_functions* files
92+
├─📄 libtool.m4 # Forked https://git.savannah.gnu.org/cgit/libtool.git
93+
├─📄 ltmain.sh # Forked https://git.savannah.gnu.org/cgit/libtool.git
94+
├─📄 Makefile.global # Root Makefile template when configure is run
95+
├─📄 order_by_dep.awk # Used by genif.sh
96+
├─📄 php.m4 # PHP Autoconf macros
97+
├─📄 pkg.m4 # https://gitlab.freedesktop.org/pkg-config/pkg-config
98+
├─📄 print_include.awk # Used by genif.sh
99+
└─📄 shtool # https://www.gnu.org/software/shtool/
100+
└─🗁 ext
101+
└─🗁 bcmath
102+
└─📄 config.m4 # Extension's Autoconf file
103+
└─🗁 date
104+
└─📄 config0.m4 # Suffix 0 priority adds file before other config.m4 extension files
105+
└─🗁 mysqlnd
106+
└─📄 config9.m4 # Suffix 9 priority adds file after other config.m4 files
107+
└─🗁 opcache
108+
└─🗁 jit
109+
└─📄 Makefile.frag # Makefile fragment for OPcache Jit
110+
└─📄 config.m4 # Autoconf file for OPcache extension
111+
└─🗁 main
112+
├─📄 build-defs.h # Generated by configure
113+
├─📄 build-defs.h.in # Template for build definitions
114+
├─📄 php_config.h # Generated by configure
115+
├─📄 php_config.h.in # Generated header template by buildconf
116+
└─📄 php_version.h # Generated by release managers using `configure`
117+
├─🗁 pear
118+
└─🗁 sapi
119+
└─🗁 cli
120+
└─📄 config.m4 # Autoconf M4 file for SAPI
121+
├─🗁 scripts
122+
└─🗁 TSRM
123+
├─📄 threads.m4 # Autoconf macros for pthreads
124+
└─📄 tsrm.m4 # Autoconf macros for TSRM
125+
└─🗁 Zend
126+
├─📄 Makefile.frag # Makefile fragment for Zend engine
127+
└─📄 Zend.m4 # Autoconf macros for Zend engine
128+
├─📄 buildconf # Wrapper for autoconf and autoheader tools
129+
└─📄 configure.ac # Autoconf main input file for creating configure script
130130
```
131131
132132
## 3. Build system diagram
@@ -379,33 +379,33 @@ build phase upon the `make` invocation.
379379
Autotools-based PHP build system files related to `bison` and `re2c`:
380380
381381
```sh
382-
<php-src>/
383-
└─ build/
384-
└─ php.m4 # Autoconf macros with re2c and bison macros
385-
└─ ext/
386-
└─ json/
387-
└─ Makefile.frag # Makefile fragment
388-
└─ pdo/
389-
└─ Makefile.frag # Makefile fragment
390-
└─ pdo_mysql/
391-
└─ Makefile.frag # Makefile fragment
392-
└─ pdo_pgsql/
393-
└─ Makefile.frag # Makefile fragment
394-
└─ pdo_sqlite/
395-
└─ Makefile.frag # Makefile fragment
396-
└─ phar/
397-
└─ Makefile.frag # Makefile fragment
398-
└─ standard/
399-
└─ Makefile.frag # Makefile fragment
400-
└─ sapi/
401-
└─ phpdbg/
402-
└─ Makefile.frag # Makefile fragment
403-
└─ scripts/
404-
└─ dev/
405-
└─ genfiles # Parser and lexer files generator helper
406-
└─ Zend/
407-
└─ Makefile.frag # Part of Makefile related to Zend files
408-
└─ configure.ac # Minimum re2c and bison versions settings
382+
🗁 <php-src>
383+
└─🗁 build
384+
└─📄 php.m4 # Autoconf macros with re2c and bison macros
385+
└─🗁 ext
386+
└─🗁 json
387+
└─📄 Makefile.frag # Makefile fragment
388+
└─🗁 pdo
389+
└─📄 Makefile.frag # Makefile fragment
390+
└─🗁 pdo_mysql
391+
└─📄 Makefile.frag # Makefile fragment
392+
└─🗁 pdo_pgsql
393+
└─📄 Makefile.frag # Makefile fragment
394+
└─🗁 pdo_sqlite
395+
└─📄 Makefile.frag # Makefile fragment
396+
└─🗁 phar
397+
└─📄 Makefile.frag # Makefile fragment
398+
└─🗁 standard
399+
└─📄 Makefile.frag # Makefile fragment
400+
└─🗁 sapi
401+
└─🗁 phpdbg
402+
└─📄 Makefile.frag # Makefile fragment
403+
└─🗁 scripts
404+
└─🗁 dev
405+
└─📄 genfiles # Parser and lexer files generator helper
406+
└─🗁 Zend
407+
└─📄 Makefile.frag # Part of Makefile related to Zend files
408+
└─📄 configure.ac # Minimum re2c and bison versions settings
409409
```
410410
411411
## 10. See more

docs/cmake-intro.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,16 @@ project(YourProjectName VERSION 1.0.0 LANGUAGES C)
108108
Project source directory example:
109109

110110
```sh
111-
YourProjectName/
112-
└─ src/ # Project source code
113-
├─ main.c
114-
└─ ...
115-
└─ subdirectory/ # Subdirectory with its own CMakeLists
116-
├─ CMakeLists.txt
117-
├─ src.c
118-
└─ ...
119-
├─ CMakeLists.txt # Project main CMakeLists file
120-
└─ ...
111+
🗁 YourProjectName
112+
└─🗁 src # Project source code
113+
├─📄 main.c
114+
└─📄 ...
115+
└─🗁 subdirectory # Subdirectory with its own CMakeLists
116+
├─📄 CMakeLists.txt
117+
├─📄 src.c
118+
└─📄 ...
119+
├─📄 CMakeLists.txt # Project main CMakeLists file
120+
└─📄 ...
121121
```
122122

123123
### 2.1. Including other CMake files

0 commit comments

Comments
 (0)