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.
- Most dependencies can be installed using Homebrew
- You will additionally need
glibtool(GNU libtool, xcode libtool won't work) - You also MUST specify target as
macormac64if building for Mac, on Mac.
- Only aarch64 targets are supported for Android cross-compile.
- The
aarch64-linux-musltoolchain is required. You can compile and install it using https://github.com/pmmp/musl-cross-make (PMMP fork includes musl-libc patches for DNS resolver config path and increasing stack size limit for LevelDB) - It is strongly recommended that you enable abusive optimizations for Android targets (
-fflag) for best performance.
| Script flags | Description |
|---|---|
| -d | Will compile with debug and the xdebug PHP extension |
| -f | Enabling abusive optimizations... |
| -g | Will compile GD2 |
| -j | Set make threads to # |
| -l | Will compile with LevelDB support (experimental with PHP7) |
| -n | Don't remove sources after completing compilation |
| -r | Will compile Readline |
| -s | Will compile everything statically |
| -t | Set target |
| -u | Will compile PocketMine-ChunkUtils C extension (recommended if using PC Anvil worlds) |
| -v | Enable Valgrind support in PHP |
| -x | Specifies we are doing cross-compile |
| Target | Arguments |
|---|---|
| linux64 | -t linux64 -l -j4 -f x86_64 |
| mac64 | -t mac64 -l -j4 -f |
| android-aarch64 | -t android-aarch64 -x -j4 -f |
- If used, the
-toption (target) MUST be specified BEFORE the-foption (optimizations) - 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.
Script to install PocketMine-MP and PHP binaries on Unix platforms.
| Flag | Description |
|---|---|
| -u | Update PocketMine-MP |
| -d | Install directory |
| -v | Channel (stable or development) |
Batch script utilizing Visual Studio on Windows to compile PHP binaries from sources.
Ensure you have Visual Studio 2017, git, 7z and wget installed in your PATH.