Opened 4 months ago

Closed 4 months ago

#5520 closed enhancement (fixed)

automake-1.17

Reported by: Bruce Dubbs Owned by: lfs-book
Priority: normal Milestone: 12.2
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (2)

comment:1 by Bruce Dubbs, 4 months ago

New in 1.17:

  • New features added
  • AM_PATH_PYTHON will, after checking "python", prefer any Python 3 version (latest versions checked first) over any Python 2 version. If a specific version of Python 2 is still needed, the $PYTHON variable should be set beforehand.
  • AM_PATH_PYTHON will also search for Python versions 3.20 through 3.10. It previously searched for 3.9 through 3.0.
  • RANLIB may be overridden on a per-target basis.
  • AM_TEXI2FLAGS may be defined to pass extra flags to TEXI2DVI & TEXI2PDF.
  • New option "posix" to emit the special target .POSIX for make.

  • Systems with non-POSIX "rm -f" behavior are now supported, and the prior intent to drop support for them has been reversed. The ACCEPT_INFERIOR_RM_PROGRAM setting no longer exists.

  • Variables using escaped \# will trigger portability warnings, but be retained when appended. GNU Make & BSD Makes are known to support it.

  • GNU Make's default pattern rules are disabled, for speed and debugging. (.SUFFIXES was already cleared.)
  • For Texinfo documents, if a .texi.in file exists, but no .texi, the .texi.in will be read. Texinfo source files need not be present at all, and if present, need not contain @setfilename. Then the file name as given in the Makefile.am will be used. If @setfilename is present, it should be the basename of the Texinfo file, extended with .info.

  • aclocal has a new option --aclocal-path to override $ACLOCAL_PATH.

  • The missing script also supports autoreconf, autogen, and perl.
  • test-suite.log now contains basic system information, and the console message about bug reporting on failure has a bit more detail.
  • When using the (default) "parallel" test driver, you can now omit the output of skipped tests from test-suite.log by defining the variable IGNORE_SKIPPED_LOGS to a non-empty value.
  • Bugs fixed
  • Generated file timestamp checks handle filesystems with subsecond timestamp granularity dynamically, greatly speeding up the sleep done by AC_OUTPUT when generating config.status (all packages) and Automake's make check.

However, this subsecond-mtime support requires an autom4te from Autoconf 2.72 or later (or random test failures and other timing problems may ensue), as well as a Perl, sleep program, make program, and filesystem that all support subsecond resolution; otherwise, we fall back to a two-second granularity, not even testing the (common) 1s case since that would induce a 2s delay for all configure scripts in all packages on all systems that don't support subsecond mtimes.

When everything is supported, a line "Features: subsecond-mtime" is now printed by automake --version and autom4te --version.

To override this check and delay, e.g. to use 1 second:

      am_cv_filesystem_timestamp_resolution=1
      export am_cv_filesystem_timestamp_resolution
  • The default value of $ARFLAGS is now "cr" instead of "cru", to better support deterministic builds.
  • Automake's make dist now uses -9 instead of --best with gzip, because Alpine gzip does not support --best. Also, GZIP_ENV is used only for compression, not decompression, because of the same system.
  • Dependency files are now empty, instead of "# dummy", for speed.
  • Compiling Python modules with Python 3.5+ uses multiple optimization levels.
  • If the Python installation "scheme" is set to posix_local (Debian), it is reset to either deb_system (if the prefix = /usr), or posix_prefix (otherwise).
  • As a result of the Python scheme change, the installation directory for Python files again defaults to "site-packages" under the usual installation prefix, even on systems (generally Debian-based) that would normally use the "dist-packages" subdirectory under /usr/local.
  • When compiling Emacs Lisp files, emacs is run with --no-site-file to disable user config files that might hang or access the terminal; and -Q is not used, since its support and behavior varies.
  • Emacs Lisp compilations respect silent make output.
  • Automake no longer incorrectly warns that the POSIX make variables $(*D) and the like are non-POSIX. Unfortunately, the make implementations which do not correctly implement all the POSIX variables are not detected, but this seems to have little impact in practice.
  • Pass libtool tags OBJC and OBJCXX for the respective languages.

  • distcleancheck ignores "silly rename" files (.nfs* .smb* .afs*) that can show up on network file systems.
  • Pass any options given to AM_PROG_LEX on to AC_PROG_LEX.
  • aclocal: recognize ; as path separator on OS/2 and Windows.
  • Hash iterations with external effects now consistently sort keys.

  • tests: avoid some declaration conflicts for lex et al. on SunOS. (bug#34151 and others)
  • tests: declare yyparse before use and use (void) parameter lists instead of (), to placate C23.
  • Typos in code and other doc fixes.
  • Obsolescence:
  • py-compile no longer supports Python 0.x or 1.x versions. Python 2.0, released in 2000, is currently the minimum required version.

comment:2 by Bruce Dubbs, 4 months ago

Resolution: fixed
Status: newclosed

Fixed at commit f105449724.

Note: See TracTickets for help on using tickets.