Skip to main content

About the xPack Ninja Build

The project

The xPack Ninja Build project is part of the xPack Reproducible Build Framework and is hosted on GitHub as xpack-dev-tools/ninja-build-xpack, part of the xPack Binary Development Tools.

The main goal of this project is to streamline the development of embedded projects. µOS++ is the first cross-platform project to benefit from the xPack tools.

Project history

The project was created in April 2020.

Initially it was considered that on Windows it is mandatory to spawn processes via cmd.exe /c and a patch was applied for this change. The decision was reversed in mid-2024.

September 2020

The first xPack Ninja Build release was v1.10.0-1.

October 2021

In the Windows binaries, the MSVC runtime was replaced with the newer Universal C Runtime (UCRT) (in v1.10.2-4).

December 2021

Support for Apple Silicon macOS was added (in v1.10.2-5).

May 2022

Support for x86 Windows and x86 GNU/Linux (32-bit) was discontinued (in v1.11.0-1).

October 2022

The project received a significant update by transitioning the build scripts from the cumbersome monolithic XBB Docker images to the more flexible and modular xPacks. XBB version 5.0.0 marked a major milestone for the xPack project, as it was the first self-sustained release. This version enabled the creation of new binary xPacks using existing binary xPacks, eliminating the need for custom Docker images or other compiled tools.

August 2024

The project underwent a comprehensive restructuring. To streamline the top package.json by showcasing only user-related definitions and concealing build-related ones, all build-related files were relocated to the build-assets folder. Furthermore, the development Git branch was renamed to xpack-development for enhanced clarity.

September 2024

The patch to spawn processes on Windows via cmd.exe /c was no longer applied (in v1.12.1-1).

The web site

The initial web site was launched in September 2020 as a sub-site in the xPack web site. It used the Jekyll Doc Theme 6.0 by Tom Johnson.

In August 2024, as part of the project restructuring, the website content was migrated from the xPack Jekyll sub-site to a local Docusaurus configuration stored in the website folder. To ensure continuity, HTML <meta> redirects were added to the old pages. Additionally, a GitHub Action was implemented to automatically publish the site upon any pushes to the website Git branch.

The author

This project is currently maintained by Liviu Ionescu (ilg-ul), a senior computer engineer, with expertise in C++/C embedded systems, RTOSes, build tools, operating systems, compilers and Internet technologies.

He can be reached at <ilg@livius.net>. Please note, this email address is provided as a courtesy. For all correspondence related to the xPack Ninja Build project, kindly use the project support page).