Skip to main content

The history of xPack Windows Build Tools

2014

This project commenced in 2014 as one of the support tools for the GNU Arm Eclipse plug-ins, which were subsequently 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 enhance flexibility and permit multiple versions of a tool to be installed on the same system, the Windows setup format was discontinued. From version 2.10 onwards, for Windows, only a standard .zip archive is 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 unwieldy monolithic XBB Docker images to the more flexible and modular xpm packages. 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 packages utilising existing binary packages, eliminating the need for bespoke Docker images or other compiled tools.

August 2024

The project underwent comprehensive restructuring. To streamline the top-level package.json by presenting only user-related definitions whilst 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.