Press "Enter" to skip to content

GNU Automake 1.20 Moves to GPLv3 and Tunes Up the Build System

Arriving just two months after its predecessor, the release adds jobserver support, safer build behavior, and nine bug fixes.

On Saturday, GNU Automake 1.20 was released as a stable minor release and announced on the autotools-announce@gnu.org, automake@gnu.org, and info-gnu@gnu.org mailing lists. This was a quick turnaround for the project. The previous release — version 1.19 — was only a couple of months back, on September 10. The release before that came in June, 2025, or something like 63 weeks earlier.

The release announcement was made by Kamila Szewczyk, who’s lately been the project’s most active co-maintainer and responsible for 99 of this release’s 104 commits. Kudos to her!

Automake is a GNU software-development tool for creating build-file templates, keeping developers from having to write and maintain makefiles by hand. It works with Autoconf as part of the GNU Autotools build system.

Changes and New Features

One of the most interesting changes to this release isn’t to the software but to the license, which until now has been GPL v2 or later:

“Automake is now licensed under the GNU General Public License version 3 or later (GPLv3+), matching Autoconf and following the Free Software Foundation’s recommendation to use GPLv3 or later.”

Interesting, considering that the Free Software Foundation’s recommendation was made 19 years ago, in 2007 with the launch of GPL v3. “Now free programs must adopt it so as to offer their users its stronger protection for their freedom,” FSF and GNU founder Richard Stallman said at the time.

Article continues after advertisement

** If our coverage matters to you, please consider supporting our work through our FOSS Force Independence 2026 fundraiser. **

Welcome aboard, Automake.

This is a stable minor release with a few new features and at least one significant change:

  • New configure option –enable-jobserver lets compilers and linkers inherit GNU make’s pipe jobserver (for example for GCC’s -flto=jobserver). Dry-run, question, and touch modes still do not run these commands.
  • New option delete-on-error emits the .DELETE_ON_ERROR special target in the generated Makefile.in, instructing GNU make to delete the target when its recipe fails after having modified it. A failed rule like foo.h: gen.sh; ./gen.sh > $@ no longer leaves a truncated result that later runs of make treat as up to date. Other make programs do not support this, so the option has no effect with other make implementations.
  • New target print-distfiles lists the files that “make dist” will distribute.
  • distcheck no longer runs “make dvi” by default, so TeX is not needed to check a distribution containing Texinfo manuals. Set AM_DISTCHECK_DVI_TARGET in Makefile.am to, e.g., dvi, pdf or html, to check that the documentation can be built.

Getting the Bugs Out

Szewczyk’s release notice lists a total of nine bugs that have been quashed in this release, with a few that might be a relief for some:

  • An issue with source-directory paths containing <, >, (, or ) has been fixed. Those characters could sometimes be interpreted as shell redirections or syntax in compiler commands, potentially overwriting files in the build directory. Paths containing those characters will now be rejected, which might not be ideal, but is much better than an unintended overwrite.
  • A dependency tracking issue that could be a hair puller has been fixed. Dependencies on another target’s objects in LIBADD or LDADD are now tracked regardless of the order in which targets are processed.
  • dist-zstd now honors numeric ZSTD_CLEVEL values, such as 3, instead of treating them as input filenames. This fixes failed or incorrect distribution archives when ZSTD_CLEVEL is set.

Links to downloads, changelogs, and the like can be found on the GNU Automake website.

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *