|
7 | 7 | #Why i use Google Colaboratory, Why not use Github Action? |
8 | 8 | "I am use Google Colaboratory cause easy to use, Github is not easy for me cause don't understand it using github action |
9 | 9 |
|
10 | | -## compile.sh |
11 | | - |
12 | | -Bash script used to compile PHP on MacOS and Linux platforms. Make sure you have ``make autoconf automake libtool m4 wget getconf gzip bzip2 bison g++ git cmake pkg-config re2c``. |
13 | | - |
14 | | -### Additional notes |
15 | | -#### Mac OSX (native compile) |
16 | | -- Most dependencies can be installed using Homebrew |
17 | | -- You will additionally need `glibtool` (GNU libtool, xcode libtool won't work) |
18 | | -- You also MUST specify target as `mac` or `mac64` if building for Mac, on Mac. |
19 | | - |
20 | | -#### Android 64-bit (cross-compile) |
21 | | -- Only aarch64 targets are supported for Android cross-compile. |
22 | | -- The `aarch64-linux-musl` toolchain is required. You can compile and install it using https://github.com/TukangM/musl-cross-make (PMMP fork includes musl-libc patches for DNS resolver config path and increasing stack size limit for LevelDB) |
23 | | -- It is strongly recommended that you enable abusive optimizations for Android targets (`-f` flag) for best performance. |
24 | | - |
25 | | -| Script flags | Description | |
26 | | -| ------------ | ------------------------------------------------------------------------------------- | |
27 | | -| -d | Will compile with debug and the xdebug PHP extension | |
28 | | -| -f | Enabling abusive optimizations... | |
29 | | -| -g | Will compile GD2 | |
30 | | -| -j | Set make threads to # | |
31 | | -| -n | Don't remove sources after completing compilation | |
32 | | -| -s | Will compile everything statically | |
33 | | -| -t | Set target | |
34 | | -| -v | Enable Valgrind support in PHP | |
35 | | -| -x | Specifies we are doing cross-compile | |
36 | | - |
37 | | -### Example: |
38 | | - |
39 | | -| Target | Arguments | |
40 | | -| --------------- | -------------------------------- | |
41 | | -| linux64 | ``-t linux64 -j4 -f x86_64`` | |
42 | | -| mac64 | ``-t mac64 -j4 -f`` | |
43 | | -| android-aarch64 | ``-t android-aarch64 -x -j4 -f`` | |
44 | | - |
45 | | -### Common pitfalls |
46 | | -- If used, the `-t` option (target) MUST be specified BEFORE the `-f` option (optimizations) |
47 | | -- Avoid using the script in directory trees containing spaces. Some libraries don't like trying to be built in directory trees containing spaces, e.g. `/home/user/my folder/pocketmine-mp/` might experience problems. |
48 | | - |
49 | | -## windows-compile-vs.bat |
50 | | - |
51 | | -i am not build for windows edition |
0 commit comments