The GNU MCU Eclipse Windows Build Tools
If you know all about the Windows Build Tools, and all you need is how to install/build/etc, the direct links are below.
- Windows Build Tools Install
- Support (using the GitHub Issues)
- How to build (using Docker containers)
- Change log
The GNU MCU Eclipse Windows Build Tools is a Windows specific package, customised for the requirements of the Eclipse CDT managed build projects. It includes a recent version of GNU make and a recent version of BusyBox, which provides a convenient implementation for sh/rm/echo.
Note: Traditionally Windows systems do not provide any standard make programs, and without one building Eclipse managed projects is not possible (using the internal builder is highly discouraged, since it is no longer supported).
- makes an explicit use of a POSIX shell, which improves the behaviour of make, by properly processing the POSIX paths generated by Eclipse, including names containing spaces.
- overcome the 8192 characters/line limit of usual Windows build environments; by not using the Microsoft cmd.exe, make is able to process larger command lines, allowing to build large projects, with very large number of files.
- support for 64-bit Windows; apparently this not only makes usage safer, by avoiding the DLL32 mess, but also slightly improves build performances.
For those interested in technical details, if make does not find a /bin/sh in the path, it falls back to using the Microsoft cmd.exe when launching sub-processes. As with other Windows implementations, compared to Unix shells, cmd.exe is severely restricted, also impacting the make correct behaviour.
The managed build plug-in generally auto-detects the latest build tools version, by using the Windows registry keys or by searching several designated folders, and defaults to using it. If you need to use a different version, update the Global Tools Paths (or Workspace Tools Paths) in C/C++ → Build preferences.
Forward vs. Back-slashes
Eclipse is a more or POSIX compliant environment, which favours the use of standard forward slashed for path separators, and all automatically generated make files use this convention. The version of the make and /bin/sh packed by GNU MCU Eclipse Windows Build Tools also favour POSIX standard forward slashes.
As such, the use of Windows specific backslash path separators cannot be properly supported, and attempts to build manually written Windows specific make files might fail.
All GNU MCU Eclipse Windows Build Tools versions are available from the GitHub Releases page. Identify the Latest release entry and carefully read the release page.
The details of installing the GNU MCU Eclipse Windows Build Tools on various platforms are presented in a dedicated Install page.
Please note that Eclipse plug-ins are not included in these packages, and need to be installed as usual.
The latest GNU MCU Eclipse Windows Build Tools package includes the version 4.1 of GNU make (built from MSYS2 source files), and version 1.24.0-git of BusyBox, also build from sources.
It is planned to follow further GNU make and BusyBox releases, but the update frequency is not expected to be high, since these are already mature packages.
The change log is available as a separate Change log page.
For those interested on the procedure used to build these packages, please read the How to build page. However, the ultimate source for details are the build scripts themselves, all available from the build-scripts Git.