Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@xpack-dev-tools/ninja-build

xpack-dev-tools5.8kMIT1.12.1-1.1

A binary xPack with the Ninja Build executables

xpack, ninja, build

readme

GitHub package.json version GitHub release (latest by date) npm (scoped) license

The xPack Ninja Build

A standalone cross-platform (Windows/macOS/Linux) Ninja Build binary distribution, intended for reproducible builds.

In addition to the the binary archives and the package meta data, this project also includes the build scripts.

Overview

This open source project is hosted on GitHub as xpack-dev-tools/ninja-build-xpack and provides the platform specific binaries for the xPack Ninja Build.

This distribution follows the official Ninja build system.

The binaries can be installed automatically as binary xPacks or manually as portable archives.

Release schedule

This distribution is generally one minor release behind the upstream releases. In practical terms, when the minor release number changes, it awaits a few more weeks to get the latest patch release.

User info

This section is intended as a shortcut for those who plan to use the Ninja Build binaries. For full details please read the xPack Ninja Build pages.

Easy install

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

Prerequisites

A recent xpm, which is a portable Node.js command line application that complements npm with several extra features specific to C/C++ projects.

It is recommended to install/update to the latest version with:

npm install --location=global xpm@latest

For details please follow the instructions in the xPack install page.

Install

With the xpm tool available, installing the latest version of the package and adding it as a development dependency for a project is quite easy:

cd my-project
xpm init # Add a package.json if not already present

xpm install @xpack-dev-tools/ninja-build@latest --verbose

ls -l xpacks/.bin

This command will:

  • install the latest available version, into the central xPacks store, if not already there
  • add symbolic links to the central store (or .cmd forwarders on Windows) into the local xpacks/.bin folder.

The central xPacks store is a platform dependent location in the home folder; check the output of the xpm command for the actual folder used on your platform. This location is configurable via the environment variable XPACKS_STORE_FOLDER; for more details please check the xpm folders page.

It is also possible to install Ninja Build globally, in the user home folder:

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

After install, the package should create a structure like this (macOS files; only the first two depth levels are shown):

$ tree -L 2 /Users/ilg/Library/xPacks/\@xpack-dev-tools/ninja-build/1.11.1-3.1/.content/
/Users/ilg/Library/xPacks/\@xpack-dev-tools/ninja-build/1.11.1-3.1/.content/
├── README.md
├── bin
│   └── ninja
└── distro-info
    ├── CHANGELOG.md
    ├── licenses
    ├── patches
    └── scripts

6 directories, 3 files

No other files are installed in any system folders or other locations.

Uninstall

The binaries are distributed as portable archives; thus they do not need to run a setup and do not require an uninstall; simply removing the folder is enough.

To remove the links created by xpm in the current project:

cd my-project

xpm uninstall @xpack-dev-tools/ninja-build

To completely remove the package from the central xPack store:

xpm uninstall --global @xpack-dev-tools/ninja-build

Manual install

For all platforms, the xPack Ninja Build binaries are released as portable archives that can be installed in any location.

The archives can be downloaded from the GitHub Releases page.

For more details please read the Install page.

Versioning

The version strings used by the Ninja project are three number strings like 1.11.1; to this string the xPack distribution adds a four number, but since semver allows only three numbers, all additional ones can be added only as pre-release strings, separated by a dash, like 1.11.1-3. When published as a npm package, the version gets a fifth number, like 1.11.1-3.1.

Since adherence of third party packages to semver is not guaranteed, it is recommended to use semver expressions like ^1.11.1 and ~1.11.1 with caution, and prefer exact matches, like 1.11.1-3.1.

Maintainer info

For maintainer info, please see the README-MAINTAINER.

Support

The quick advice for getting support is to use the GitHub Discussions.

For more details please read the Support page.

License

Unless otherwise stated, the content is released under the terms of the MIT License, with all rights reserved to Liviu Ionescu.

The binary distributions include several open-source components; the corresponding licenses are available in the installed distro-info/licenses folder.

Download analytics

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

changelog

Change & release log

Entries in this file are in reverse chronological order.

2024-09-09

  • v1.12.1-1 published on npmjs.com
  • c58d3c4 package.json: update urls for 1.12.1-1.1 release
  • 4fa35e6 blog post release 1.12.1-1 published
  • c3f8cae build-assets/templates updates
  • c4806d8 CHANGELOG update
  • 94326f6 ninja.sh: rework test .cmd & script
  • a963ce5 CHANGELOG update
  • 9eed95b README update
  • e2ab19c remove 1.12.1-1 patch

2024-09-06

  • 43c981e website update
  • b412de1 ninja.sh: use patch
  • 1887b4e add patches/README
  • 2e8f39d add ninja-1.12.1-1.git.patch
  • d506b60 VERSION 1.12.1-1
  • c981efa build-assets/package.json: bump deps
  • 6829cfa website update
  • 0a6046c ninja.sh: switch to upstream git
  • ed46f05 package.json: 1.12.1-1.1.pre
  • e3098ec generate website
  • bdf042f re-generate workflows

2024-08-17

  • 6359811 website remove preliminary
  • b8f0357 build-assets/package.json: updates
  • fdead27 templates/body-blog update
  • e727b0b templates/body-github: update
  • 042c716 re-generate workflows

2024-08-16

  • f71f40a templates/body-github: update

2024-08-14

  • e868594 build-assets/package.json: updates

2024-08-09

  • fd4567d READMEs update
  • d8fc42a package.json: git+https
  • aa69488 build-assets/package.json: updates
  • b74d46d templates/body-blog update

2024-08-07

  • 15c1d41 build-assets/package.json: updates
  • 1ac7e6e build-assets/package.json: updates
  • f4a6c7c website: preliminary content
  • b2ff362 build-assets updates

2024-08-04

  • 092212b package.json: bump deps
  • a3faf8b website: re-generate
  • 87724ef move to build-assets/templates
  • addab36 body-jekyll update
  • 5428435 build-assets/package.json: build-development & docker 5.2.2

2024-08-02

  • 97d080c package.json: bump deps
  • 8799726 ninja.sh: -Wno-dev
  • 6c27627 website: regenerate commons
  • 02724d9 re-generate workflows & update assets for 'development'

2024-08-01

  • a3086cb re-generate scripts
  • ee705e9 package.json: docker 5.2.2
  • d707e13 README update
  • ded7e31 README update
  • fb8cb44 prepare v1.12.1-2
  • f2e359e website: preliminary content
  • ff58b88 updates for build-assets
  • 2fc5b2c move to build-assets
  • 816cd41 re-generate workflows
  • d83b671 README updates
  • f296104 package.json: rename build-development*

2024-07-27

  • ae2114a package.json: add actions, bump deps
  • 043e048 templates/jekyll update

2024-07-23

  • d678ef3 READMEs update
  • 900c979 package.json: rework generate workflows
  • 7d1bc71 package.json: bump deps

2024-07-22

  • 6f10658 re-generate workflows
  • daf5d26 re-generate workflows
  • af48c28 re-generate workflows
  • 04413eb re-generate workflows
  • 5c0161a re-generate workflows
  • cc0a796 re-generate workflows
  • 1edd11c workflow linux move publish
  • 088dccf workflow linux fix syntax
  • 8c293b4 workflow linux separate upload
  • 0ebb2d4 build-linux: try upload v2
  • a8e49b5 package.json: xbb 5.2.1
  • 02058a2 package.json: loglevel: info
  • 352996f package.json: bump deps
  • 211969a scripts update
  • 365bcb4 templates/jekyll update
  • f26aaaf re-generate workflows

2024-06-17

  • 3115b81 re-generate workflows
  • 1029e6a re-generate workflows
  • e1c334c workflow cleanups
  • 8b980a5 fix deep-clean, remove build-all
  • 841b502 package-lock.json update
  • 0a3532a README update
  • 83377b6 prepare v1.12.1-1
  • 8f19050 prepare v1.12.1-1
  • 4e1820a re-generate workflows with new names
  • 9464599 package.json update actions
  • 1a0f107 re-generate workflows
  • c097b3f re-generate workflows
  • 537d05c re-generate workflows
  • 891935f package.json: update actions
  • b4b1ec5 re-generate workflows with new names
  • 8a47929 re-generate workflows
  • 57edafc re-generate workflows
  • ab7e9d1 re-generate workflows
  • 04330ce re-generate workflows
  • f43d963 re-generate workflows
  • 8d4e2fe re-generate workflows
  • 4174b40 re-generate workflows

2024-06-16

  • 968e1a6 re-generate workflows
  • b6db60a re-generate workflows
  • eb87946 re-generate workflows
  • 211fabe re-generate workflows
  • 90d211f re-generate workflows
  • ae9bac9 package.json: bump deps
  • 8e2b865 re-generate workflows
  • 812926e application.sh update

2024-06-10

  • d7c98cf re-generate workflows
  • 92a5fd6 re-generate workflows
  • 3406ef9 re-generate workflows
  • 51ec5aa re-generate workflows
  • 26eeeba re-generate workflows

## 2024-06-09

  • 768fc07 re-generate workflows
  • f681b2d re-generate workflows
  • ca105ae re-generate workflows

2024-06-08

  • 57ff0eb re-generate workflows
  • d66d212 re-generate workflows
  • 67f7dbb re-generate workflows
  • 2914175 regenerate workflows with generate report
  • 4a3d469 re-generate workflows
  • 146f3dc package.json: bump deps

2024-05-28

  • 2f27aa4 README update

2024-05-23

  • c549064 package.json: clang 16.0.6-1.1

2024-05-18

  • 482b0bf rework git_clone call
  • 566a521 READMEs update
  • 65fc73f package.json: XBB_ENVIRONMENT_SKIP_CHECKS

2024-05-17

  • add7588 ninja.sh: use XBB_LDFLAGS_STATIC_LIBS

2024-05-16

  • 6940d42 READMEs update

2024-05-09

  • 69950cd use is_develop and with_strip

2024-05-03

  • ed47020 package.json: add bison to deps

2024-05-02

  • fa08644 package.json: add m4 to deps
  • eb62df3 package.json: clang 17.0.6-1.1
  • 716ce1d ninja.sh: conditional -DCMAKE_OSX_DEPLOYMENT_TARGET

2024-04-04

  • 91c3e4c README update
  • 5aa75be package.json: clang 17
  • 1f49daf package.json: bump deps
  • aa00dc1 re-generate workflows

2024-03-22

  • f061ace package.json: xpm-version 0.18.0

2024-03-08

  • 8d7e8f6 package.json: xpm-version 0.18.0

2024-03-07

  • 2104332 package.json: xpm-version 0.18.0
  • ff4d9c2 package.json: bump deps

2024-03-06

  • bb1dff9 body-jekyll update
  • 0826280 package.json: bump deps

2024-02-07

  • cbfd32b READMEs update
  • a27da38 package.json: bump deps

2023-12-03

  • c2d7da8 package.json: bump deps
  • 697f3ce re-generate workflows

2023-11-16

  • b00333f build-xbbla32 cleanup
  • 3066ea5 build-xbbla32 debug ls -l
  • 8828b36 build-xbbla32 debug ls -l
  • efa345a build-xbbla32 debug ls -l
  • 1594e12 build-xbbla32 debug ls -l
  • 66e3e75 build-xbbla32 debug ls -l
  • 2476ee9 build-xbbla32 debug ls -l
  • 7159f58 build-xbbla32 debug ls -l
  • 4987773 build-xbbla32 use linux32 bash
  • 5914cee build-xbbla32 use linux32
  • 8f136f7 try ampere

2023-11-12

  • 6d8797c package.json: bump deps

2023-09-25

  • e65a5a8 body-jekyll update

2023-09-20

  • 65183e1 package.json: bump deps

2023-09-16

  • f6379de package.json: add linux32
  • a4694ee body-jekyll update

2023-09-11

  • 020c3df package.json: bump deps

2023-09-08

  • 1330753 package.json: bump deps

2023-09-06

2023-09-06 * 8011af9 package.json: bump deps 2023-09-06 * 9469e95 READMEs update 2023-09-06 * 4d82a54 body-jekyll update 2023-09-06 * 6e39672 1.11.1-3.1 2023-09-06 * 30ac425 CHANGELOG: publish npm v1.11.1-3.1

  • 1873457 package.json: update urls for 1.11.1-3.1 release

2023-09-05

  • b98bb93 README update
  • 6861bbc CHANGELOG update
  • b599303 README update
  • d3945ad .vscode/settings.json: ignoreWords
  • c159184 README update
  • 8c9d219 package.json update
  • 762355b package.json: bump deps
  • ca0ac7c prepare v1.11.1-3
  • fea22fc CHANGELOG update
  • c500001 README update
  • e365c35 dot.*ignore update
  • bc5881a re-generate workflows
  • 481431b READMEs update
  • f67d7f3 package.json: bump deps

2023-09-03

  • c68a6bb package.json: bump deps

2023-08-28

  • db01444 READMEs update

2023-08-25

  • 337a803 package.json: rm xpack-dev-tools-build/*
  • 81e39f2 package.json: bump deps

2023-08-21

  • 2b2bb40 READMEs update
  • 5ec8d82 package.json: bump deps

2023-08-19

  • a10992f READMEs update
  • 0dc2adf package.json: bump deps

2023-08-15

  • ac2b5f1 re-generate workflows
  • 9b5600d README-MAINTAINER rename xbbla
  • 65d1967 package.json: rename xbbla
  • 077bf04 package.json: bump deps
  • 335ff4c READMEs update
  • 38520e7 package.json: bump deps

2023-08-05

  • f646bf3 READMEs update

2023-08-04

  • 4ded8d0 READMEs update
  • 8afc87d READMEs update
  • 1efea34 package.json: add build-develop-debug
  • d76848a READMEs update

2023-08-03

  • f11c094 package.json: reorder build actions
  • dd8cf9d READMEs update
  • d6d5822 package.json: bump deps

2023-07-28

  • ec89b5e READMEs update
  • ad7abf3 READMEs update
  • 40b93d1 package.json: bump deps
  • 3c731db package.json: liquidjs --context --template
  • 8490d96 scripts cosmetics
  • fefe4b7 re-generate workflows
  • 4e76125 READMEs update
  • 53fe610 package.json: minXpm 0.16.3 & @xpack-dev-tools/xbb-helper
  • 41a6193 READMEs update
  • 4843758 package.json: bump deps

2023-07-26

  • 2f90082 package.json: move scripts to actions
  • 2a428ff package.json: update xpack-dev-tools path
  • 4a3f746 READMEs update xpack-dev-tools path
  • e9d753c body-jekyll update
  • 5a18017 READMEs update

2023-07-17

  • 340c7ad package.json: bump deps

2023-03-31

  • 8b9dbc3 dependencies CMAKE=$(which cmake)

2023-03-25

  • 9dd5d37 READMEs update
  • 26ea605 READMEs update prerequisites
  • 17c5ca6 package.json: mkdir -pv cache

2023-02-22

  • a95175a READMEs update

2023-02-14

  • 031c471 body-jekyll update

2023-02-10

  • daa86a2 READMEs update

2023-02-07

  • e3d24b8 READMEs update
  • e384848 body-jekyll update

2023-01-31

  • db80736 re-generate workflows
  • 3f88601 package.json:bump deps

2023-01-28

  • 91bc3a6 README-MAINTAINER remove caffeinate xpm
  • 4625ad9 ninja.sh: cosmetics
  • 7881335 ninja.sh: use MACOSX_DEPLOYMENT_TARGET
  • 0c70e0b ninja.sh: use versioning functions
  • cfa6ea5 README-MAINTAINER remove caffeinate xpm

2023-01-27

  • adb0d76 package.json: reorder scripts

2024-01-24

  • 6390849 README updates
  • d20372f 1.11.1-2.1
  • 9211692 package.json: 1.11.1-2.1-pre
  • 0a7efb9 1.11.1-2.1
  • a9a3724 CHANGELOG: publish npm v1.11.1-2.1
  • 50387a3 README update
  • 67d229c package.json: update urls for 1.11.1-2.1 release
  • fb9c339 CHANGELOG update
  • v1.11.1-2 released
  • 7c8658f re-generate workflows with xpm@next

2023-01-23

  • c7e074b re-generate workflows
  • 124147e package.json:bump deps

2023-01-22

  • 7ab4638 README update

2023-01-11

  • 946efd8 build-xbbli.yml: re-generate
  • 0e322ce build-xbbli.yml: try xpack/release-action
  • 7a05090 cosmetize xbb_adjust_ldflags_rpath

2023-01-09

  • aea8579 ninja.sh: verbose build only when IS_DEVELOP
  • a9bf804 package.json: bump deps
  • fa57cb2 package.json: loglevel info
  • 052b705 versioning.sh: add comment before *installedbin

2023-01-02

  • 0182d29 package.json: add gcc to windows deps
  • 80012a6 ninja.sh: use CMAKE_SYSTEM_NAME=Windows

2023-01-01

  • 5f8fd45 package.json: pass xpm version & loglevel

2022-12-30

  • da58fb9 README-MAINTAINER: xpm run install
  • 8aeb17d package.json: bump deps
  • c6584fc versioning.sh: regexp

2022-12-27

  • 9ee4e85 README update
  • 2557309 echo FUNCNAME[0]
  • f2a8d3b re-generate from templates
  • ddbb431 cosmetics: move versions to the top

2022-12-26

  • 2816fb3 README updates
  • 1e9d890 README update

2022-12-25

  • 808adfb versioning.sh: remove explicit xbb_set_executables_install_path

2022-12-24

  • fb300c3 CHANGELOG update
  • be316e3 versioning.sh: explicit set_executables
  • fd5b3b1 READMEs updates
  • 44db22d package.json: update
  • 028fb94 package.json: bump deps
  • 7e131e7 re-generate from templates
  • 4aa96b9 versioning.sh: update
  • 0809c19 ninja.sh: update for XBB_HOST_*
  • c1568e6 rename functions
  • update for XBB v5.0.0

2022-10-08

  • v1.11.1-2 prepared

2022-08-31

  • v1.11.1-1.1 published on npmjs.com
  • v1.11.1-1 released

2022-05-17

  • v1.11.0-1.1 published on npmjs.com
  • v1.11.0-1 released
  • optimize cmd.exe processing in ninja.git

2022-05-16

  • v1.11.0-1 prepared

2021-12-06

  • v1.10.2-5.1 published on npmjs.com
  • v1.10.2-5 released

2021-11-20

  • v1.10.2-5 prepared
  • update build scripts for Apple Silicon

2021-10-13

  • v1.10.2-4.1 published on npmjs.com
  • v1.10.2-4 released
  • update for new build scripts & xbb v3.3

2021-09-16

  • v1.10.2-4 prepared
  • update build scripts

2021-04-28

  • v1.10.2-3.1 published on npmjs.com
  • v1.10.2-3 released
  • [#1] - add quotes to cmd.exe /c to fix meson builds on windows

2021-03-16

  • v1.10.2-2.1 published on npmjs.com
  • v1.10.2-2 released
  • use local fork, with cmd.exe fix

2020-12-19

  • v1.10.2-1.2 published on npmjs.com
  • v1.10.2-1 released

2020-09-28

  • v1.10.0-1.1 published on npmjs.com
  • v1.10.0-1 released

2020-07-23

  • v1.10.0-1 prepared