Skip to main content

About the xPack Windows Build Tools

The project

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

Project history

This project began in December 2014 as one of the support tools for the GNU Arm Eclipse plug-ins, which were later rebranded as GNU MCU Eclipse plug-ins and are now integrated into the Eclipse Embedded CDT.

Originally developed for Unix environments, the Eclipse CDT managed build generator required make and rm, which are unfortunately not available on Windows.

Some cross-toolchains for Windows addressed this issue by including make and rm in their distribution. However, many did not, leaving users to find alternative distributions of these tools.

The GNU Arm Eclipse plug-ins aimed to enhance path management by offering a mechanism to define separate paths for the toolchain and these tools. This led to the creation of the Windows Build Tools project.

The package was first published on npmjs.com as @gnu-mcu-eclipse/windows-build-tools.

December 2014

The initial release (v2.0) repackaged the cs-make.exe and cs-rm.exe binaries, renaming them without the prefix, and bundled them into a *-setup.exe. The binaries were borrowed from the Mentor Sourcery CodeBench Lite toolchain for Windows.

January 2015

The project moved away from the initial Mentor binaries and started to pack newer versions of make.exe and sh.exe, built from sources (in v2.1).

July 2015

Support for x64 Windows (64-bit) was added (in v2.6).

June 2017

Standard .zip archives were added in parallel with Windows setup files (in v2.9).

January 2018

To increase flexibility and allow multiple versions of a tool to be installed on the same system, the Windows setup format was discontinued. From version 2.10 onward, for Windows, only a standard .zip archive was distributed.

The xPack metadata has been added, and the package can now be more conveniently installed via xpm. It is available from npmjs.com as @gnu-mcu-eclipse/windows-build-tools (in v2.10).

July 2019

The project was renamed xPack Windows Build Tools and the npm scope was changed from @gnu-mcu-eclipse to @xpack-dev-tools (in v2.12.2).

December 2020

The versioning scheme was updated to align with the version of make (in v4.2.1-1).

October 2021

In the Windows binaries, the MSVC runtime was replaced with the newer Universal C Runtime (UCRT) (in v4.2.1-3).

March 2022

Support for x86 Windows (32-bit) was discontinued (in v4.3.0-1).

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

The web site

The initial web site was launched in July 2022 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 Windows Build Tools project, kindly use the project support page).