m4

Branch


Log

Author Commit Date CI Message
Karl Berry 0e684652 2025-06-27T09:54:57 maint: 1.18.1 released, version now 1.18.1.91. * configure.ac (AC_INIT): now 1.18.1.91. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.18.1.91 (auto-update). * HACKING: release tweaks.
Karl Berry 153298e2 2025-06-26T10:26:13 maint: prepare for 1.18.1 release. * configure.ac (AC_INIT): 1.18.1. (APIVERSION remains 1.18.) * m4/amversion.m4: likewise (auto-updated). * HACKING: tweak release info some more. * NEWS: likewise.
Karl Berry 9639fc23 2025-05-27T09:01:00 maint: 1.18 released, version now 1.18.0.91. * configure.ac (AC_INIT): now 1.18.0.91. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.18.0.91 (auto-update). * HACKING: release tweaks.
Karl Berry 971aae26 2025-05-26T09:10:25 maint: prepare for 1.18 release. * configure.ac (AC_INIT): 1.18 (APIVERSION): also 1.18. * m4/amversion.m4: likewise (auto-updated). * doc/automake.texi: missing comma in make xref. * HACKING: tweak release info some more. * NEWS: likewise. * INSTALL: missed top-level update from make fetch.
Karl Berry f1bdc6ee 2025-04-12T08:47:59 maint: 1.17.92 pretest released, 1.17.93 for dev. * configure.ac (AC_INIT): now 1.17.93. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.93 (auto-update). * HACKING: mention delay between upload and appearance on server.
Karl Berry c0ec787b 2025-04-11T09:45:53 maint: doc and maintainer-check in preparation for 1.17.92. * configure.ac (AC_INIT): now 1.17.92. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.92 (auto-update). * HACKING: release wording.
Karl Berry 744de5f9 2025-02-25T15:04:16 maint: 1.17.90 pretest released, 1.17.91 for dev. * configure.ac (AC_INIT): now 1.17.91. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.91 (auto-update).
Karl Berry 1349c729 2025-02-25T14:39:11 maint: doc and maintainer-check in preparation for 1.17.90. * HACKING: mention thanks to individuals. * NEWS: update for 1.17.90. * configure.ac (AC_INIT): now 1.17.90. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.90 (auto-update). * maintainer/syntax-checks.mk (sc_tests_command_subst): allow whitespace before # shell comment line. (sc_tests_plain_sleep): emphasize using $sleep without a number; only replace sleep 1 or sleep 2; longer than that would be fine. * t/tap-stderr-prefix.tap: use $sleep instead of sleep 1.
Karl Berry 2d2ff607 2025-02-24T14:41:48 dist: change tar format default to ustar. Suggested in https://bugs.gnu.org74847. * m4/init.m4 (tar-ustar): make ustar the default instead of tar-v7. * doc/automake.texi (tar-formats): document this. * NEWS: mention this. * t/tar-override.sh: force tar-v7 for purposes of this test.
Karl Berry 29d21ffc 2025-02-21T09:58:12 m4: force newline after AM_SILENT_RULES, as before 1.17. From https://bugs.gnu.org/72267. * m4/silent.m4 (AM_SILENT_RULES): m4_newline() after the assignment. Report from Francis Dupont, suggestions from Francis and Nick Bowler. * NEWS: mention this. * THANKS: add Francis.
Richard Hansen 32b3cfa5 2025-02-20T15:43:49 automake: add missing AC_MSG_RESULT calls to AM_SANITY_CHECK. From https://bugs.gnu.org/76448 (automake-patches). * m4/sanity.m4 (AM_SANITY_CHECK): Call AC_MSG_RESULT before erroring out so that a complete line is printed to stdout before the error message is written to stderr. * NEWS: mention this. * THANKS: add Richard.
Paul Eggert 61075eab 2025-01-01T14:31:02 maint: make update-copyright
Karl Berry 3f9888e2 2024-09-10T15:44:57 automake: recognize all-numeric MAJ.MIN.MICROa.ALPHA versions better. * HACKING: more doc on version numbers. * configure.ac (AC_INIT): 1.17.0.91, since we want (I guess) to retain odd numbers for development and even numbers for pretests. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.0.91 (auto-update). (AM_SET_CURRENT_AUTOMAKE_VERSION): likewise. * lib/Automake/Options.pm (_process_option_list): recognize four-part numeric versions as Automake options. * lib/Automake/Version.pm (split): recognize four-part numeric versions. * t/pm/Version.pl (@tests, @bad_versions): update test to check (not reject) four-part numeric versions.
Eric Gallager cb537c9f 2024-09-07T10:15:38 m4: align removal after compilation with autoconf. From https://bugs.gnu.org/72225, and fixes https://bugs.gnu.org/72852. * m4/prog-cc-c-o.m4: remove conftest[12]*.dSYM, and don't remove core. * THANKS: add Eric.
Karl Berry 4e6eff35 2024-07-14T08:39:46 maint: it seems APIVERSION only changes for minor/major releases. * configure.ac (APIVERSION): back to 1.17 (from 1.17.0.90). * m4/amversion.m4: likewise (auto-updated).
Jim Meyering 5b25b092 2024-07-11T22:52:32 maint: post-release version bump to 1.17.0.90 * configure.ac (AC_INIT): 1.17.0.90. * m4/amversion.m4: likewise (auto-updated). * HACKING: Fix typo in version example.
Karl Berry cb0c4be3 2024-07-10T15:15:04 maint: prepare for 1.17 release. * configure.ac (AC_INIT): 1.17. (APIVERSION): also 1.17. (Yikes.) * m4/amversion.m4: likewise (auto-updated). * HACKING: tweak release info some more.
Bruno Haible 715ce1e6 2024-07-03T08:27:02 automake: display whether sleep supports fractional seconds as yes/no. https://lists.gnu.org/archive/html/automake/2024-07/msg00003.html * m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): Set am_cv_sleep_fractional_seconds to yes/no, not true/false, for consistency with other results. Also "quote" this and other $am_cv values. (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Test for yes/no. * t/ax/test-defs.in: Set am_cv_sleep_fractional_seconds to 'no', not 'false'.
Karl Berry 3dd08bc4 2024-06-29T10:24:57 automake: test $MAKE if that's defined. https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): test $MAKE if it's defined, else "make".
Jim Meyering 19433cfe 2024-06-20T22:12:53 maint: post-release: bump version to 1.16.93 * configure.ac (AC_INIT): Post-release version bump to 1.16.93. * am/amversion.m4: Update by running ./bootstrap.
Karl Berry 2fc4ad5c 2024-06-20T10:15:21 maint: prepare for 1.16.92 pretest. * configure.ac (AC_INIT): 1.16.92. * m4/amversion.m4: likewise (auto-updated).
Karl Berry bc1042e7 2024-06-19T10:02:39 automake: insane typo * instead of 2. * m4/sanity.m4 (AM_SANITY_CHECK): managed to replace 2 with * in ls -t test. Clearly I have gone insane.
Karl Berry cde0e3bb 2024-06-19T09:41:22 doc: rewrite subsecond NEWS entry, sanity.m4 "make" testing wrong, etc. * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): mention that testing of "make" is wrong here; but $(MAKE) is not available? Do some special pleading that it won't matter in practice; we'll see. https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html (AM_SANITY_CHECK): use $[]* instead of $[*]2 to avoid the confusing apparent (but not) use of shell arrays; the square brackets are parsed off by m4. * lib/am/check.am (output_system_information): en passant, mention that $(AWK) should always be defined since AC_PROG_AWK is part of AM_INIT_AUTOMAKE nowadays. * NEWS: rewrite subsecond NEWS entry:workaround, more references.
Bruno Haible fad36f78 2024-06-17T15:38:11 automake: omit 1s test in _AM_FILESYSTEM_TIMESTAMP_RESOLUTION, for speed. From https://lists.gnu.org/archive/html/automake/2024-06/msg00055.html plus https://lists.gnu.org/archive/html/automake/2024-06/msg00054.html. * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Don't test whether 1 sec works; instead just accept the 2 sec delay in the Automake test $sleep in exchange for not incurring the 2s delay of running the test for all packages on 1s-resolution platforms. Platforms that support subsecond mtimes will still use them.
Karl Berry df2ff7cb 2024-06-12T18:24:14 automake: omit make subsecond tests if at one-second resolution. Partially ameliorates report from Bruno Haible, thread at https://lists.gnu.org/archive/html/automake/2024-06/msg00015.html * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): if resolution is only one second, assume make works, to avoid several sleeps.
Paul Eggert 1d35638b 2024-06-07T08:41:45 maint: spelling and whitespace fixes Most of these spelling fixes are just to comments and documentation. However, some affect tests as follows: * t/cond36.sh (tparse.h): Fix misspelling of dependency. * t/disthook.sh: Fix misspelling of file. * t/help3.sh: Fix misspelling of long option. * t/instdir-ltlib.sh: Fix misspellings of macro names. This causes the test to fail, so someone with libtool expertise needs to look into this. * t/tap-no-spurious-numbers.sh (highno): Fix misspelling of shell var.
Paul Eggert 85efe505 2024-06-07T07:56:25 maint: fix version mismatch * m4/amversion.m4 (AM_AUTOMAKE_VERSION) (AM_SET_CURRENT_AUTOMAKE_VERSION): Bump to 1.16.91 (auto-updated).
Karl Berry 23e69f6e 2024-05-27T12:34:35 test: check that subsecond mtime works with make. Trying to fix https://bugs.gnu.org/68808. * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): check that make works with subsecond mtimes, as well as sleep and ls. (Known to fail with the make 3.81 that ships with macOS.) * configure.ac (MTIME_RESOLUTION): notice if it erroneously expands to the empty string, i.e., fall back to 1 if $am_cv_filesystem_timestamp_resolution ended up being unset. * t/ax/test-defs.in (MTIME_RESOLUTION): also fall back to 1 if the variable to not set, with a message. Fix other typos en passant. * HACKING: tweak.
Karl Berry 2838316b 2024-01-21T08:57:50 maint: use 1.xx.90-style pretest versions. In response to https://bugs.gnu.org/54412. * configure.ac (AC_INIT): 1.16.90. * m4/amversion.m4: Likewise (auto-updated).
Karl Berry 70128b8b 2024-01-20T14:33:14 python: use deb_system instead of posix_local if prefix = /usr. Continuing with https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412. * m4/python.m4 (AM_PATH_PYTHON) <am_python_setup_scheme>: factor out common scheme-related code to this new variable. If the scheme is posix_local and the prefix is /usr, use deb_system (for Debian package builds). * NEWS: more explanations (and unrelated references, en passant).
Gianfranco Costamagna ac64ce26 2024-01-17T14:48:13 python: use posix_prefix instead of posix_local on Debian. From https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412#17. (Patch slightly adapted by Bogdan from original by Gianfranco, as posted by Stefano Rivera in message#14.) * m4/python.m4 (AM_PATH_PYTHON): replace Debian's posix_local scheme with posix_prefix. * doc/automake.texi (Python) <pythondir>: say a bit more. * NEWS: mention this.
Karl Berry 22ecc131 2024-01-17T09:51:40 automake: a millisecond is too fast for subsecond-mtime. This patch is from https://bugs.gnu.org/68325. * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): don't try for a millisecond; make a hundredth of a second the fastest we'll go. Apparently there are plenty of systems which supposedly support subsecond-mtimes down to the millisecond and yet randomly fail parallelized tests. For example: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68119#18 Maybe the tests themselves need fixing. (The ones that run autotools multiple times in succession.) A work in progress.
Mike Frysinger 3cd8f545 2024-01-13T18:09:02 python: add 3.20 - 3.16 to the version search list. * m4/python.m4: Add python3.20 - python3.16. * NEWS: Mention these versions too.
Paul Eggert b80b5c47 2024-01-01T11:29:06 maint: make update-copyright
Karl Berry 0249be1e 2023-12-25T15:38:15 test: force long sleep with explicit cache variable setting. From https://bugs.gnu.org/67670. * t/ax/test-defs.in: when MTIME_RESOLUTION is set to 1 because automake/autom4te do not support subsecond-mtime, also set am_cv_sleep_fractional_seconds=false. Otherwise the random parallel test failures from given bug and others return. * m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): reformat. (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): elide "the" in AC_CACHE_CHECK. * t/amassign.sh: end with :. * HACKING: more on debugging tests. * NEWS: update.
Karl Berry 5883fcb1 2023-12-20T08:20:26 maint: post-release administrivia. * configure.ac (AC_INIT): now 1.16j, since 1.16i pretest was released (on 2023-12-18). * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Zack Weinberg cfdb83d4 2023-12-10T09:50:51 automake: again revise file mtime resolution support. This patch is from https://bugs.gnu.org/67670. In order for the Automake testsuite to be able to use sub-second delays to control whether certain files are considered newer than others, five(!) separate pieces of software all need to cooperate: automake itself, autoconf's internal `autom4te' utility, the Perl interpreter and its libraries, the sleep(1) shell utility, and finally the filesystem hosting the build directory. The existing tests for this are a combination of inadequate and incorrect. This patch, in conjunction with a patch just committed to Autoconf trunk, https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=39d96e6fff7ceae63b823872602caf4d255a38c8 should make everything much more robust, as follows: - _AM_FILESYSTEM_TIMESTAMP_RESOLUTION is completely rewritten. It no longer looks for autom4te at all, because this macro is invoked unconditionally from AM_INIT, so *every* project that uses Automake would get this test that's only relevant to Automake's own testsuite. Also, it tries sleeping for as little as one millisecond (smaller delays consistently get rounded up to 1ms on my computer and I expect that's universal), it should accurately detect FAT's two-second resolution now, and it should not be tripped up anymore by running at precisely the moment that will make a 0.1s sleep cross a 1s boundary (this may sound unlikely but it used to cause a couple of test failures *every time* I ran the automake testsuite on a network filesystem that only supported 1s resolution). - In support of the above, the test for working ls -t moved from AM_SANITY_CHECK to _AM_FILESYSTEM_TIMESTAMP_RESOLUTION. This allowed me to simplify the test for $srcdir/configure being older than a freshly created file. - If automake is capable of reading high-resolution file modification timestamps from the operating system, it prints `Features: subsecond-mtime' as the second line of --version output. (We can't just assume this works for sufficiently new automake, because it depends on whether the Perl interpreter provides this capability, and that's not a simple question of which version of Perl you have, either.) - The Autoconf patch mentioned above adds the same annotation to the output of autom4te --version. - Finally, t/ax/test-defs.in looks for the `Features: subsecond-mtime' string from both automake and autom4te and resets the sleep time to one second if it's not there. There might be a better place to put this, somewhere it'll execute every time the *overall testsuite* is invoked rather than once for each test, but I couldn't find one. Tested on x86-64-linux with development automake and development autoconf. Previous discussion: - https://lists.gnu.org/archive/html/automake/2023-03/msg00000.html - https://lists.gnu.org/archive/html/automake/2023-04/msg00002.html - https://lists.gnu.org/archive/html/automake/2023-12/msg00005.html - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64756 * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Rewrite for greater reliability. Don't probe autom4te at all here. Check for working ls -t here. (AM_SANITY_CHECK): Do not cache the result. Do not check for working `ls -t' here. Disentangle control flow in the loop probing the relative ages of build and source directory. * lib/Automake/FileUtils.pm: Sync from autoconf. * bin/automake.in (version): Include `Features: subsecond-mtime' in the output if $Automake::FileUtils::subsecond_mtime is true. * configure.ac: Rename the substitution variable MODIFICATION_DELAY to MTIME_RESOLUTION. * t/ax/test-defs.in: Require both $AUTOMAKE and $AUTOM4TE to report support for high-resolution timestamps before setting $sleep to delay for less than one second. * NEWS: Update info.
Mike Frysinger 6b4304c1 2022-01-26T06:36:32 python: prioritize python 3.x over 2.x Since Python 2.x went EOL years ago, stop searching for it before any of the Python 3 versions. * m4/python.m4: Move python2 after all python3 versions. * NEWS: Mention update in version search.
Pavel Raiskup 8cdbdda5 2023-11-21T08:30:00 automake: make the ARFLAGS default 'cr' instead of 'cru'. In some GNU/Linux distributions people started to compile 'ar' binary with --enable-deterministic-archives (binutils project). That, however, in combination with our previous long time working default AR_FLAGS=cru causes warnings on such installations: ar: `u' modifier ignored since `D' is the default (see `U') The 'u' option (at least with GNU binutils) did small optimization during repeated builds because it instructed 'ar' to not open/close unchanged *.o files and to rather read their contents from old archive file. However, its removal should not cause a big performance hit for usual workflows. Distributions started using --enable-deterministic-archives knowing that it would disable the 'u', just to rather have a bit more deterministic builds. Also, to justify this change a bit more, keeping 'u' in ARFLAGS could only result in many per-project changes to override Automake's ARFLAGS default, just to silence such warnings. Fixes bug#20082. Reported by Eric Blake. * bin/automake.in (handle_libraries): Use 'ARFLAGS=cr' by default. * doc/automake.texi (Building a library): Mention the changed ARFLAGS default. (@c LocalWords): Replace 'cru' with 'cr'. * m4/ar-lib.m4 (AM_PROG_AR): Cut out 'cru' string into separate ARFLAGS variable with new default 'cr'. * NEWS: Document.
Mike Frysinger d5d5707d 2023-11-15T10:35:40 m4: use AS_IF instead of ! builtin. * m4/sanity.m4: Switch `if !` to AS_IF.
Jim Meyering 5c85c782 2023-11-01T22:20:05 fix: syntax error in sanity.m4 * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Fix syntax error from preceding change: add a missing double quote.
Karl Berry 581e0ae4 2023-11-01T18:03:36 doc: references for non-fractional timestamps. The non-fractional fix from Bogdan fixes https://bugs.gnu.org/64756, discussed earlier in a long thread on automake in 2023-03 and 2023-04; references in the bug. Jacob Bachmeyer contributed to the analysis and fixes. * m4/sanity.m4:
Bogdan b6fa7311 2023-11-01T17:40:47 m4: fall back to non-fractional timestamps with older autom4te. * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): if HiRes is not present in Autom4te/FileUtils.pm, do not consider fractional sleeps.
Karl Berry 7d727188 2023-11-01T17:36:01 m4: syntax fix for lex change. * m4/lex.m4: dnl caused "fiif" in output.
Łukasz Stelmach edd08396 2023-11-01T09:18:57 m4: update invocation of AC_PROG_LEX. * m4/lex.m4: Pass on any arguments given to AC_PROG_LEX. * doc/automake.texi: Describe this. * NEWS: Mention this. * THANKS: New contributor.
Mike Frysinger 34bdde96 2023-01-04T02:00:14 maint: make update-copyright
Richard Hopkins cea8158f 2022-09-27T18:04:20 automake: do not use -Q with emacs invocations. This change is for https://bugs.gnu.org/58102. (By the way, the previous two commits were for bugs 58026 (silent .elc compilation) and 58025 (load bytecomp), respectively, but I forgot to mention them.) * m4/lispdir.m4 (AM_PATH_LISPDIR): omit -Q option. Also (from karl), use -no-site-file (one hyphen) for consistency with the other options. * NEWS: mention this. * doc/automake.texi (Hard-Coded Install Paths): likewise.
Jim Meyering 208f103f 2022-05-23T23:20:37 fix: autoreconf fails due to .m4 files added but not installed * m4/local.mk (dist_automake_ac_DATA): Add both rmf.m4 and xargsn.m4. Building grep from "make maintainer-clean" state, failed like this: configure.ac:41: warning: _AM_PROG_RM_F is m4_require'd but not\ m4_defun'd configure.ac:41: warning: _AM_PROG_XARGS_N is m4_require'd but not\ m4_defun'd configure:5058: error: possibly undefined macro: _AM_PROG_RM_F configure:5059: error: possibly undefined macro: _AM_PROG_XARGS_N
Mike Frysinger ce3bbbb4 2022-02-24T22:20:53 m4: handle id failures when checking ustar support Fixes automake bug https://bugs.gnu.org/20713. If `id` fails, display a specific warning message to the user. * m4/tar.m4: Check $am_uid & $am_gid if they're unknown.
Mike Frysinger d747a66a 2022-02-20T19:06:55 m4: rework silent-rules macros to avoid double expansion Fixes automake bug https://bugs.gnu.org/32868. The AM_SILENT_RULES macro defines all the silent-rules related setup. It's also called by users to change the default verbosity level. This leads to a quirk where automake calls it, expands the full context, and then users call it, and it's fully expanded again. Instead, let's rename AM_SILENT_RULES to _AM_SILENT_RULES and move the initialization logic to late in the configure stage. This allows the user-centric AM_SILENT_RULES call to expand into a single line to set the default verbosity. * m4/init.m4: Switch to _AM_SILENT_RULES. * m4/silent.m4: Rename AM_SILENT_RULES to _AM_SILENT_RULES. Delay evaluation of AM_SILENT_RULES to the end. Define new AM_SILENT_RULES to set default rules verbosity. * t/silent-defaults.sh: New tests. * t/list-of-tests.mk: Add t/silent-defaults.sh.
Mike Frysinger 38da1d90 2022-02-17T04:35:03 python: use xargs -n when uninstalling files Fixes automake bug https://bugs.gnu.org/53340. If the system has xargs, then utilize it to uninstall files to stay within long command line limits. If the system doesn't have xargs, fall back to running the remove command one at a time. Since every reasonable system should have `xargs -n`, and POSIX requires it, the fallback probably rarely gets used, so don't bother optimizing. * lib/am/inst-vars.am: Use am__xargs_n to call rm -f on the files. * lib/am/python.am: Drop am__base_list and for loop and let the am__uninstall_files_from_dir break up the long command lines. * m4/init.m4: Call _AM_PROG_XARGS_N. * m4/xargsn.m4: New test for `xargs -n`.
Mike Frysinger 3099097d 2022-02-17T03:50:55 rm: handle -f w/no arguments gracefully Fixes automake bug https://bugs.gnu.org/10828. Delete the configure check that would abort if `rm -f` does not work, and delete the plans to make this a hard requirement in the future. Instead, test to see if `rm -f` fails w/out arguments. If it does, define am__rm_f such that it always passes at least the "" argument when deleting files. If it doesn't fail, then we can omit the "". Then go through lib/am/ and update places where we use the pattern `test -z ... || rm -f ...` and replace with $(am__rm_f). * NEWS: Mention support for `rm -f` w/out arguments. * PLANS/rm-f-without-args.txt: Remove. * lib/am/check.am: Use new $(am__rm_f) helper. * lib/am/clean.am: Likewise. * lib/am/header-vars.am: Likewise. * lib/am/inst-vars.am: Likewise. * lib/am/libs.am: Likewise. * lib/am/ltlib.am: Likewise. * lib/am/progs.am: Likewise. * lib/am/texinfos.am: Likewise. * m4/init.m4: Delete `rm -f` checks and call _AM_PROG_RM_F. * m4/rmf.m4: Define new _AM_PROG_RM_F macro. * t/rm-f-probe.sh: Update test.
Mike Frysinger 720a1153 2022-02-12T03:41:06 m4: speed up filesystem modification checks The current code sleeps at least 1 second to make sure the generated files are strictly newer than the source files. It does this for a few reasons: POSIX only guarantees that `sleep` accept integers, and filesystems have a history (c.f. Windows) of bad timestamp resolution. For the first part, we can easily probe sleep to see if it accepts a decimal number with a fractional part -- just run `sleep 0.001`. For the second part, we can create two files and then run sleep in a loop to see when one is considered newer than the other. For many projects, this 1 second delay is largely amortized by the rest of the configure script. Autoconf lends itself to being both large & slow. But in projects with many smallish configure scripts with many cached vars, the time to rerun is dominated by this single sleep call. For example, building libgloss against a compiler with many (60+) multilib configurations, we see: [Using sleep 1] $ time ./config.status real 2m28.164s user 0m33.651s sys 0m9.083s [Using sleep 0.1] $ time ./config.status real 0m39.569s user 0m33.517s sys 0m8.969s And in case anyone wonders, going below 0.1s doesn't seem to make a statistically significant difference, at least in this configuration. It appears to be within "noise" limits. [Using sleep 0.001] $ time ./config.status real 0m39.760s user 0m33.342s sys 0m9.080s * NEWS: Mention updated timestamp checking. * m4/sanity.m4: Determine whether `sleep` accepts fractional seconds. Determine (roughly) the filesystem timestamp resolution. Use this to sleep less when waiting for generated file timestamps to update.
Mike Frysinger be55eaaa 2022-02-12T02:12:42 m4: cache build env sanity checks When rerunning configure in an existing build dir, cache the previous results about environment settings. There should be no need to retest these in a dir that has already been configured. * m4/sanity.m4: Cache sanity results.
Mike Frysinger 5c9e117c 2022-02-08T00:39:40 elisp: run emacs with --no-site-file Fixes automake bug https://bugs.gnu.org/21547. If users have interactive site file logic, the lispdir probing can hang, as can the compilation of elisp files. Use --no-site-file to disable loading any of that possible user logic. * NEWS: Note emacs --no-site-file change. * doc/automake.texi: Run emacs with --no-site-file. * lib/am/lisp.am: Likewise. * m4/lispdir.m4: Likewise.
Mike Frysinger d096d4e6 2022-01-31T02:40:14 AM_PROG_AR: require before AC_PROG_AR The new autoconf AC_PROG_AR macro has similar logic to what we have in AM_PROG_AR, but less than what we need (since autoconf doesn't support the MS archiver), so make sure we are run before AC_PROG_AR. * m4/ar-lib.m4: Call AC_BEFORE for AC_PROG_AR.
Mike Frysinger 930a9a73 2022-01-26T06:33:19 python: add 3.10 - 3.15 to the version search list Fixes automake bug https://bugs.gnu.org/53530. Based on the cadence of Automake releases, add the current Python release (3.10), the current Python development (3.11), and then 4 more versions on top of that. It doesn't hurt to check for a few extra versions here since this is the fallback logic when the main `python` and `python3` programs aren't found. * m4/python.m4: Add python3.10 - python3.15. * NEWS: Mention new Python versions.
Jim Meyering 6c8ff6a8 2022-01-12T14:15:12 maint: make update-copyright
Mike Frysinger 6156cd86 2021-12-12T01:07:39 m4: replace AC_DIAGNOSE with m4_warn AC_DIAGNOSE was marked obsolete with autoconf-2.62 in 2008. * m4/obsolete.m4: Change AC_DIAGNOSE to m4_warn.
Jim Meyering abe72f96 2021-10-03T20:25:27 maint: Post-release administrivia * configure.ac (AC_INIT): Bump version number to 1.16i. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Jim Meyering 18416d64 2021-10-03T19:47:14 version 1.16.5 * configure.ac (AC_INIT): Bump version number to 1.16.5. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). * NEWS: Record release version.
Jim Meyering 524d9961 2021-10-03T19:48:31 maint: remove trailing white space from a few files * NEWS: Remove trailing white space. * NEWS-2.0: Likewise. * contrib/checklinkx: Likewise. * doc/local.mk (chlx_args): Likewise. * m4/python.m4: Likewise. * t/test-extensions-empty.sh: Likewise.
Jim Meyering 90bf665a 2021-09-19T19:40:32 maint: Post-release administrivia * configure.ac (AC_INIT): Bump version number to 1.16h. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Jim Meyering 49d55448 2021-09-19T18:38:59 maint: adjust version for snapshot * configure.ac (AC_INIT): Bump version number to 1.16g for snapshot. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Karl Berry 56387843 2021-09-19T15:12:27 python: only use Python's sys.* values if the new option --with-python-sys-prefix is specified; otherwise, return to previous behavior of using the GNU ${prefix} and ${exec_prefix}. * doc/automake.texi (Python): document the new behavior. * m4/python.m4 (AM_PATH_PYTHON): conditionalize use of Python's sys.* values on the new option --with-python-sys-prefix. * t/python-prefix.sh: doc update. * t/python-vars.sh: test both GNU and Python prefix values. * NEWS: mention this.
Nick Bowler f4a3a70f 2021-08-17T18:26:42 automake: fatal error on second AM_INIT_AUTOMAKE. This change addresses https://bugs.gnu.org/50046. Patch posted: https://lists.gnu.org/archive/html/automake-patches/2021-08/msg00000.html * m4/init.m4: Make attempts to expand AM_INIT_AUTOMAKE more than once a fatal error at m4 time.
Jim Meyering 770b012b 2021-07-26T12:37:23 maint: Post-release administrivia * configure.ac (AC_INIT): Bump version number to 1.16f. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Jim Meyering 39c0005a 2021-07-25T21:59:59 version 1.16.4 * configure.ac (AC_INIT): Bump version number to 1.16.4. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). * NEWS: Record release version.
Jim Meyering cdc5372b 2021-07-18T19:34:37 maint: adjust version, post-snapshot * configure.ac (AC_INIT): Bump version number to 1.16e for snapshot. * m4/amversion.m4: Regenerate.
Jim Meyering 51c8ca10 2021-07-18T18:16:23 maint: adjust version for snapshot * configure.ac (AC_INIT): Bump version number to 1.16d for snapshot. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Jim Meyering a470a47f 2021-07-11T19:19:42 maint: make update-copyright
Joshua Root ed8daa06 2021-05-18T15:11:59 python: use Python's sys.prefix and sys.exec_prefix for PYTHON_PREFIX and PYTHON_EXEC_PREFIX; new configure options --with-python_prefix and --with-python_exec_prefix to set explicitly. This change fixes https://bugs.gnu.org/35322. * m4/python.m4 (AM_PATH_PYTHON): use Python's sys.prefix and sys.exec_prefix for PYTHON_PREFIX and PYTHON_EXEC_PREFIX, instead of $prefix and $exec_prefix. But use a variable reference to ${prefix} if it is contained within sys.prefix; similarly for exec_prefix. Also support new configure options to set explicitly. (PYTHON_PREFIX, PYTHON_EXEC_PREFIX): AC_SUBST these. (am_cv_python_pythondir): use our new $am_cv_python_prefix, substituting ${PYTHON_PREFIX}. (am_cv_python_pyexecdir): likewise. * doc/automake.texi (Python): PYTHON_PREFIX, PYTHON_EXEC_PREFIX, document new approach. * t/instmany-python.sh: set PYTHON_PREFIX as needed. * t/python-vars.sh (PYTHON_EXEC_PREFIX, PYTHON_PREFIX): also set from Python's sys.{exec_,}prefix; use ${PYTHON_{EXEC,}PREFIX} instead of ${exec_,}prefix.
Zack Weinberg ccb57553 2020-12-14T14:50:47 Fix some build and test failures with Autoconf 2.70. Autoconf 2.70 (released last week) makes a few changes that broke Automake’s expectations, mostly in the test suite. This patch addresses two of the problems: - autoconf now issues a warning if fed a configure script that doesn’t invoke both AC_INIT and AC_OUTPUT; this, plus a problem with system-provided tools (still under investigation) broke the *build* on macOS; it also causes a couple of spurious testsuite failures. - AC_PACKAGE_NAME and AC_PACKAGE_VERSION are now defined unconditionally. AM_INIT_AUTOMAKE needs to use m4_ifset instead of m4_ifdef to diagnose the obsolete use of AC_INIT with fewer than two arguments. (This change is compatible with autoconf 2.69; m4_ifset is much older, and it means ‘defined with a non-empty value’.) * configure.ac: Use both AC_INIT and AC_OUTPUT in test configure scripts. * t/deprecated-acinit.sh, t/init.sh: Likewise. * m4/init.m4 (AM_INIT_AUTOMAKE): Use m4_ifset, not m4_ifdef, to detect AC_PACKAGE_NAME and/or AC_PACKAGE_VERSION not having a value.
Reuben Thomas d2ccbd7e 2020-12-05T18:11:55 tags: support setting CTAGS, ETAGS, CSCOPE vars via ./configure. This change fixes https://bugs.gnu.org/45013. * m4/init.m4: add default settings and AC_SUBST calls for the variables `CTAGS', `ETAGS' and `CSCOPE'. * lib/am/tags.am: remove default settings of the above variables. * doc/automake.texi (Tags): mention and index. * NEWS: mention.
Jim Meyering 5ce670d9 2020-11-18T20:19:12 maint: Post-release administrivia * configure.ac (AC_INIT): Bump version number to 1.16b. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Jim Meyering 0188451e 2020-11-18T18:08:41 version 1.16.3 * configure.ac (AC_INIT): Bump version number to 1.16.3. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). * NEWS: Record release version.
Miro Hron\v{c}ok e21d46fd 2020-10-27T14:33:46 python: determine Python (3.10) version number correctly. This change fixes https://bugs.gnu.org/44239 (and https://bugzilla.redhat.com/show_bug.cgi?id=1889732). * m4/python.m4: use print('%u.%u' % sys.version_info[:2]) for the version number instead of merely sys.version[:3], so the numbers are treated as numbers. * t/python-vars.sh (PYTHON_VERSION): Likewise. * doc/automake.texi: Document it. * NEWS: mention it. (Minor tweaks from Karl Berry.)
Reuben Thomas f832992d 2020-10-21T23:31:46 Improve Vala compiler detection: use API version, not compiler version * m4/vala.m4: check `valac --api-version', not `valac --version'. * doc/automake.texi: update documentation.
Zack Weinberg 74a413ff 2020-09-05T18:12:48 automake: be robust against directories containing (). This change fixes https://bugs.gnu.org/14196. * m4/missing.m4 (AM_MISSING_HAS_RUN): always quote the invocation (not just if $am_aux_dir contains space or tab), in case $am_aux_dir contains () or other metachars not rejected by AM_SANITY_CHECK; quoting with '...' suggested by Jim Meyering. * t/man6.sh (HELP2MAN): adjust grep since missing value is quoted now. * t/am-missing-prog.sh: likewise.
Jim Meyering 104d3a10 2020-03-23T18:43:29 maint: Post-release administrivia * NEWS: Add header line for next release. * configure.ac (AC_INIT): Bump version number to 1.16b. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Jim Meyering 6774c9b2 2020-03-14T20:21:43 version 1.16.2 * configure.ac (AC_INIT): Bump version number to 1.16.2. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). * NEWS: Record release version.
Libor Bukata c3ad6b0b 2020-02-14T18:36:49 cosmetics: improve error message when dependency tracking fails This change fixes https://bugs.gnu.org/35848. * m4/depout.m4: Add suggestion to try GNU make to the error message. Original patch at https://lists.gnu.org/archive/html/automake-patches/2019-05/msg00000.html
Jim Meyering cf27a3df 2020-01-01T11:44:41 maint: make update-copyright
Paul Eggert 5ae02cc8 2019-10-14T13:46:55 maint: make update-copyright
Mathieu Lirzin 48c75cb8 2018-03-11T23:24:55 maint: Post-release administrivia * NEWS: Add header line for next release. * configure.ac (AC_INIT): Bump version number to 1.16a. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Mathieu Lirzin 02c7c2d5 2018-03-11T22:24:54 version 1.16.1 * configure.ac (AC_INIT): Bump version number to 1.16.1. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). * NEWS: Record release version.
Mathieu Lirzin 9385c161 2018-03-03T12:01:13 python: Support future python version up to 3.9 This change fixes automake bug#28160. Since AM_PYTHON_PATH macro takes no maximum version argument, there is no need to generate _AM_PYTHON_INTERPRETER_LIST dynamically, like what was previously done by the reverted commit 1d60fb72168e62d33fe433380af621de64e22f23. We could rely on M4 to generate this list statically however this is likely to be a complex solution that would not improve maintainability. * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add 'python3.7', 'python3.8', and 'python3.9'. * NEWS: Update.
Mathieu Lirzin 4ef6c2d1 2018-03-03T12:00:31 Revert "python: Generate python interpreter list" This reverts commit 1d60fb72168e62d33fe433380af621de64e22f23.
Mathieu Lirzin b2a9eb09 2018-02-25T22:28:21 maint: Post-release administrivia * NEWS: Add header line for next release. * configure.ac (AC_INIT): Bump version number to 1.16a. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
Mathieu Lirzin 4f73bb80 2018-02-25T20:47:15 version 1.16 * configure.ac (AC_INIT, APIVERSION): Bump version number to 1.16. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap"). * NEWS: Record release version.
Mathieu Lirzin 1d60fb72 2018-02-01T13:51:03 python: Generate python interpreter list _AM_PYTHON_INTERPRETER_LIST is used by AM_PYTHON_PATH to autodetect Python programs whose names correspond to a specific Python version (e.g. python3.6). Previously this list was updated manually. The automatic support of newer versions (up to 4.0 excluded) fixes bug#28160. * m4/python.m4 (am_py_min_ver, am_py_max_ver): New macros. (_AM_PYTHON_INTERPRETER_LIST): Generate this list instead of hard-coding it. Implementation is taken from GNU Pyconfigure.
Mathieu Lirzin bbaa4cdc 2018-01-04T16:19:30 maint: Update copyright years to 2018 This update has been made with 'make update-copyright'.
Mathieu Lirzin 5e202df2 2017-09-23T12:19:43 maint: Make Emacs use 'makefile-automake-mode' * bin/local.mk: Specify mode name in the first line. * contrib/t/local.mk: Likewise. * doc/local.mk: Likewise. * lib/Automake/local.mk: Likewise. * lib/am/local.mk: Likewise. * lib/local.mk: Likewise. * m4/local.mk: Likewise. * t/local.mk: Likewise.
Paul Eggert a2de0200 2017-09-23T09:36:21 maint: fix two more http: URLs * m4/init.m4: Change http: to https: in comments.
Mathieu Lirzin c2757b97 2017-09-19T13:43:07 maint: Reset master
Paul Eggert 3562e384 2017-09-16T13:03:36 Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
Paul Eggert 199e7a44 2017-09-16T13:03:36 Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
Mathieu Lirzin f389ecb8 2017-08-31T19:23:42 Merge branch 'minor'
Mathieu Lirzin e94c0186 2017-08-31T14:42:13 build: Rename "Makefile.inc" Makefile fragments to "local.mk" This is done to follow a convention used by a lot of GNU packages. * bin/Makefile.inc: Rename to ... * bin/local.mk: ... this. * doc/Makefile.inc: Rename to ... * doc/local.mk: ... this. * lib/Automake/Makefile.inc: Rename to ... * lib/Automake/local.mk: ... this. * lib/am/Makefile.inc: Rename to ... * lib/am/local.mk: ... this. * lib/Makefile.inc: Rename to ... * lib/local.mk: ... this. * m4/Makefile.inc: Rename to ... * m4/local.mk: ... this. * contrib/t/Makefile.inc: Rename to ... * contrib/t/local.mk: ... this. * t/Makefile.inc: Rename to ... * t/local.mk: ... this. Adapt. * Makefile.am: Adapt.
Mathieu Lirzin 87becfb2 2017-07-15T15:46:52 python: Add python3.6 This fixes bug#27458. * m4/python.m4 (AM_PATH_PYTHON): Add python3.6.