Version 1.10.2-2 is a maintenance release of the xPack Ninja Build package, fixing the spawning of cmd.exe scripts on Windows.

The xPack Ninja Build is the xPack distribution of the Ninja build system.

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).

Download

The binary files are available from GitHub releases.

Install

The full details of installing the xPack Ninja Build on various platforms are presented in the separate Install page.

Easy install

The easiest way to install Ninja Build is with xpm by using the binary xPack, available as @xpack-dev-tools/ninja-build from the npmjs.com registry.

To install the latest version available, use:

$ xpm install --global @xpack-dev-tools/ninja-build@latest

To install this specific version, use:

$ xpm install --global @xpack-dev-tools/ninja-build@1.10.2-2.1

Compliance

The xPack Ninja Build is based on the official Ninja, without any changes.

The current version is based on:

  • Ninja release 1.10.2 from Nov 28th, 2020.

Bug fixes

  • none

Enhancements

  • none

Changes

Compared to the upstream version, the Windows version also supports spawning scripts via cmd.exe /c. These scripts are used by npm/xpm to redirect invocations to the central packages repository.

Known problems

  • [#1] as discoverd after starting to use meson, starting applications on Windows was still problematic; fixed on 1.10.2-3.

Shared libraries

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.

DT_RPATH and LD_LIBRARY_PATH

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 DT_RPATH has 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.

@executable_path

Similarly, on macOS, the dynamic libraries are adjusted with otool to use a relative path.

Documentation

The original documentation is available from:

Supported platforms

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
  • 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.

Build

The scripts used to build this distribution are in:

  • distro-info/scripts

For the prerequisites and more details on the build procedure, please see the How to build page.

Travis tests

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:

Tests

TBD

Checksums

The SHA-256 hashes for the files are:

64d764c3bfb386037126725b3a4ff58b9bc9b72985490cd9e3d0f93b5133a43c
xpack-ninja-build-1.10.2-2-darwin-x64.tar.gz

c633669347fce592757bd44d6a9f058e6391528a8593c91552e2547ffa7b4d19
xpack-ninja-build-1.10.2-2-linux-arm64.tar.gz

74131427efe2a61e25f7a75d866631cea696bd00ff98f2dc096778a8cae29be1
xpack-ninja-build-1.10.2-2-linux-arm.tar.gz

5dcdfcb8d217fe60a26a3b5989b9886359dd5409bb7066e0915174124275a640
xpack-ninja-build-1.10.2-2-linux-ia32.tar.gz

99bac03fee8c482c2ea3aed0f18f5b09198069503aff28b5831fa7cca88c5121
xpack-ninja-build-1.10.2-2-linux-x64.tar.gz

dd3b64d7513eb37d661d756824c98343ef10b47d1ae7b9b059bee2168b442e9f
xpack-ninja-build-1.10.2-2-win32-ia32.zip

4187623b5595f2efa7196ccaf982739f5bb83954ac0c82a1412d5eea1cc3a6db
xpack-ninja-build-1.10.2-2-win32-x64.zip

Download analytics

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.