There are separate binaries for Windows (Intel 32/64-bit), macOS (Intel 64-bit) and GNU/Linux (Intel 32/64-bit, Arm 32/64-bit).
The binary files are available from GitHub releases.
The full details of installing the xPack Meson Build on various platforms are presented in the separate Install page.
To install the latest version available, use:
xpm install --global @xpack-dev-tools/meson-build@latest --verbose
To install this specific version, use:
xpm install --global @email@example.com
The xPack Meson Build is based on the official Meson build system, without any changes.
The current version is based on:
- Meson release 0.55.3 from Sep 11th, 2020.
To simplify dependency management, this release embeds a Python 3.8.5 instance.
meson executable is a standard ELF/EXE which includes the Python
main() function prepares the Python environment and then
invokes the Meson main:
PyRun_SimpleString("from mesonbuild import mesonmain\n"); PyRun_SimpleString("sys.exit(mesonmain.main())\n");
The Python library is located in the standard location:
lib/python3.8/lib-dynload(the platform dependent files)
The Meson files are located in:
To speed up execution, all Python files are compiled and are
available only as
- #1 - when installing meson as a project dependency, starting it fails on macOS, due to a bug preventing it to follow links; fixed in 0.55.3-2;
- #2 - when generating commands in ninja.build that refer to itself, on Linux & macOS the path is not correct, it contains only a folder; fixed in 0.55.3-2.
On all platforms the packages are standalone, and expect only the standard runtime to be present on the host.
All dependencies that are build as shared libraries are copied locally in the same folder as the executable.
On GNU/Linux the binaries are adjusted to use a relative path:
$ readelf -d library.so | grep runpath 0x000000000000001d (RPATH) Library rpath: [$ORIGIN]
In the GNU ld.so search strategy, the
the highest priority, higher than
LD_LIBRARY_PATH, so if this later one
is set in the environment, it should not interfere with the xPack binaries.
Similarly, on macOS, the binaries are adjusted with
otool to use a
The original documentation is available from:
Binaries for Windows, macOS and GNU/Linux are provided.
The binaries were built using the xPack Build Box (XBB), a set of build environments based on slightly older distributions, that should be compatible with most recent systems.
- Intel GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 12 Docker container
- Arm GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 16 Docker container (added in mid-2020)
- Windows: all binaries were built with mingw-w64 GCC 9.3, running in an Ubuntu 12 Docker container
- macOS: all binaries were built with GCC 9.3, running in a separate folder on macOS 10.10.5.
The scripts used to build this distribution are in:
For the prerequisites and more details on the build procedure, please see the README-MAINTAINER page.
The first set of tests were performed on Travis, by running a simple script to check if the binaries start on a wide range of platforms and distributions:
The SHA-256 hashes for the files are:
f0b31f8ecbc90de4e8bff675d2e48527fefd5f44b17b34e9fd356fd1ab111e71 xpack-meson-build-0.55.3-1-darwin-x64.tar.gz 7f644d5762b75d48ac5bc865c31b29055ea9353fca4a49240493be32764b4714 xpack-meson-build-0.55.3-1-linux-arm64.tar.gz 8494dc993d38914dfd2d353c8fdc31c7420fb4511438cffeee9356f24239c922 xpack-meson-build-0.55.3-1-linux-arm.tar.gz 4762a7be6a7398b66a2c2dff80285a1e7e74d926896b9f0469bffa30b561b1d5 xpack-meson-build-0.55.3-1-linux-x32.tar.gz 83415e728359b7fba3fc9f9fb4ce0ea42c7681c99ff64f80598502055ae8d655 xpack-meson-build-0.55.3-1-linux-x64.tar.gz 16649ffa705c6906e2396c9f70f7f3aea493b283a635f0af5b613e1a226a65be xpack-meson-build-0.55.3-1-win32-x32.zip 30d130de68238326d2b14712d460aab9bfac7413805d96303c15dc961b8fcf24 xpack-meson-build-0.55.3-1-win32-x64.zip
- GitHub xpack-dev-tools/meson-build-xpack
- this release
- all xPack releases
- individual file counters (grouped per release)
- npmjs.com @xpack-dev-tools/meson-build