Linux Kernel & OS

GNU Automake 1.20 adds jobserver support, GPLv3+ licensing, and new build targets

Key Takeaway

GNU Automake 1.20 introduces --enable-jobserver for parallel compiler/linker coordination, a delete-on-error option, and relicenses from GPLv2 to GPLv3+ as its new maintainer aims to reverse CMake and Meson adoption trends.

Summary

GNU Automake 1.20 has been released with several functional changes and a significant licensing update. The build system tool, which generates Makefile.in files for use with Autoconf, now operates under GPLv3 or later rather than its previous GPLv2 licensing, bringing it into alignment with Autoconf and current Free Software Foundation recommendations.

The release adds practical build improvements including --enable-jobserver for inheriting GNU make's pipe job server in compiler and linker processes, a delete-on-error option that emits .DELETE_ON_ERROR in generated makefiles, and a print-distfiles target for inspecting distribution contents. Kamila Szewczyk, the release's author, has stated ambitious goals to restore the GNU build system to prominence among new projects despite the current dominance of CMake and Meson in upstream development.

What changes in Automake 1.20

  • Jobserver inheritance: The new --enable-jobserver option allows compilers and linkers to access GNU make's pipe job server, enabling proper parallelization for GCC's -flto=jobserver link-time optimization mode without oversubscription.
  • License upgrade: Automake moves from GPLv2 (or later) to GPLv3 (or later), matching Autoconf's licensing and FSF guidance; this affects redistribution terms for the tool itself, not necessarily projects using it.
  • Delete-on-error target: The new delete-on-error option injects .DELETE_ON_ERROR into generated Makefile.in files, ensuring GNU Make removes partially built targets when recipes fail rather than leaving stale intermediates.
  • Distribution inspection: A print-distfiles target lists exactly which files make dist would include, aiding debugging of distribution contents without running the full archive generation.
  • Build system fixes: The release resolves long-standing issues with dependency tracking, lex/yacc output in VPATH builds, Vala compilation, distribution compression, uninstall checks, and removes the default TeX requirement for distcheck.

Why it matters

For Linux distributions and legacy codebases still maintained with autotools, the jobserver improvement addresses a real pain point in parallel LTO builds that could previously thrash systems or underutilize cores. However, the stated goal of reversing CMake and Meson adoption faces substantial headwinds, as those systems have become the default for GNOME, systemd, Mesa, and most new language ecosystems, meaning Automake's trajectory will likely remain maintenance-focused for existing projects rather than greenfield growth.

Original reference: www.phoronix.com →