Policy & Community

GNU Automake 1.19.94 alpha introduces GPLv3+ licensing and jobserver support

Key Takeaway

The upcoming Automake 1.20 series transitions to GPLv3+ licensing and adds features for improved build parallelization and error handling.

Summary

The GNU Project has announced the release of automake-1.19.94, which serves as the second alpha pre-release for the upcoming Automake 1.20 version. This release is a significant milestone as it prepares the ecosystem for a major licensing shift and several functional enhancements to the build automation process.

Developers testing this alpha will notice a transition to the GNU General Public License version 3 or later (GPLv3+), aligning the tool with Autoconf. The update also introduces new configuration options to improve how compilers interact with GNU make and how failed build recipes are handled to prevent corrupted build states.

Technical improvements in Automake 1.20 alpha

  • Licensing Update: The project is moving to GPLv3+ to match Autoconf, though this does not force the licensing of generated Makefile.in files or the packages that utilize Automake.
  • Build Parallelization: A new --enable-jobserver configure option allows compilers and linkers to inherit the GNU make pipe jobserver, facilitating better resource management for tools like GCC with -flto=jobserver.
  • Error Resilience: The delete-on-error option implements the .DELETE_ON_ERROR special target in generated Makefiles, ensuring that if a recipe fails, the target is deleted rather than leaving a truncated, potentially valid-looking file.
  • Security Hardening: The configure script now rejects source directory paths containing shell-sensitive characters such as <, >, (, ), ;, or | to prevent potential shell redirection or syntax exploits during the build process.
  • VPATH Build Fixes: Improvements to lex and yacc rules ensure output directories are created before source generation, and distributed copies of these files no longer carry incorrect #line directives pointing to build-time source directories.

Why it matters

This release is critical for software engineers maintaining complex build systems, as the jobserver integration and error-handling improvements enhance build reliability and speed. The licensing alignment simplifies compliance for developers using the broader GNU Autotools suite, while the security hardening protects against malicious or malformed directory paths in automated build environments.

Original reference: savannah.gnu.org →