summaryrefslogtreecommitdiff
path: root/THANKS
Commit message (Collapse)AuthorAgeFilesLines
* deps: 'subdir-object' option now works when foo_SOURCES contains $(var)Stefano Lattarini2015-01-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following a suggestions of Johan Kristensen, we have config.status use 'make' invocations rather than Makefile-parsing 'sed' hacks to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments. To handle the inclusion of such files that are still missing when make is first we basically generate a temporary Makefile without these includes, and call 'make' on that Makefile. This fixes the serious bug bug#13928, which was an hard blocker to make the behavior mandated by the 'subdir-object' active by default (which we want to do in Automake 2.0). The issue has also been reported in bug#15919. * NEWS, THANKS: Update. * bin/automake.in (handle_languages): Add a trailing "marking" comment ("# am--include-marker") to the generated Makefile lines issuing 'include' directives for the dependency-tracking '.Po' and '.Plo' makefile fragments. Also rename the generated Makefile variable 'am__depfiles_maybe' to the clearer 'am__maybe_remake_depfiles'. Minor unrelated refactoring. * lib/am/configure.am: Adjust to account for the 'am__depfiles_maybe' -> 'am__maybe_remake_depfiles' renaming. * lib/am/depend.am: Add rules to generate a dummy version of all the dependency-tracking '.Po' and '.Plo' makefile fragments. * m4/depout.m4: Use make invocations rather than Makefile-parsing sed hacks to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments. We still use some sed trickery in order to remove the inclusion of the still non existing .Po and .Plo files from the Makefile we invoke make upon; this is done stripping lines that contain the magic string "# am--include-marker". * m4/make.m4 (AM_MAKE_INCLUDE): Given that now automake generates Makefiles containing include statements with trailing comment, adjust the checks done here to make sure $MAKE support that; e.g., "include foo.mk # comment" rather than just "include foo.mk". Also refactor and adjust to leave better debugging info in config.log. * t/postproc.sh: Rename ... * t/depend-postproc.sh: ... to this, and adjust and enhance. * t/list-of-tests.mk (handwritten_TESTS): Adjust. (XFAIL_TESTS): Remove 't/subobj-indir-pr13928.sh', which is now succeeding. * t/subobj-indir-pr13928.sh: Simplify slightly, now that we expect it to pass. * t/depcomp8a.sh: Adjust grepping check to account for the changes in the generated Makefile, and tp be somewhat more robust in light of possible future modifications. * t/depcomp8b.sh: Likewise. * t/subobj11b.sh: Likewise. * t/subobj11c.sh: Likewise. * t/extra-sources.sh: Likewise. * t/lex-depend-grep.sh: Likewise. * t/lex-depend-cxx.sh: Add a command to help debugging in case of test failure. Helped-by: Johan Kristensen <johankristensen@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into minorStefano Lattarini2014-12-231-0/+1
|\ | | | | | | | | | | | | | | * micro: dist: fix bug#18286 "distcheck fails to detect missing files" tests: expose automake bug#18286 "distcheck fails to detect missing files" include: fix bug in handling of user-defined makefile fragments generation tests: expose bug in handling of user-defined makefile fragments generation
| * Merge branch 'distcheck-pr18286' into microStefano Lattarini2014-12-231-0/+1
| |\ | | | | | | | | | | | | | | | * distcheck-pr18286: dist: fix bug#18286 "distcheck fails to detect missing files" tests: expose automake bug#18286 "distcheck fails to detect missing files"
| | * dist: fix bug#18286 "distcheck fails to detect missing files"Stefano Lattarini2014-12-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BTW, this issue had been already reported in the past: http://lists.gnu.org/archive/html/automake/2006-09/msg00008.html http://lists.gnu.org/archive/html/automake/2013-01/msg00049.html "make distcheck" could sometimes fail to detect missing files in the distribution tarball, especially in those cases where both the generated files and their dependencies are explicitly in $(srcdir). An important example of this are *generated* makefile fragments included at Automake time in Makefile.am. A basic example: # -*- Makefile.am -*- $(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am include $(srcdir)/fragment.am ... If the use forgot to add data.txt and/or preproc.sh in the distribution tarball, "make distcheck" would have erroneously succeeded! The reason is that, while $(srcdir)/data.txt does not exist, make also looks in $(srcdir)/$(srcdir)/data.txt, and in the distcheck-issued VPATH build where $(srcdir) is '..', that file exists, as it is part of the original development directory. * t/distdir.am (distcheck): Adjust to have the build directory be '$(distdir)/_build/sub' rather than just '$(distdir)/_build'. Thanks Nicola Fontana for the suggestion. * t/distcheck-pr18286.sh: Enhance and tighten a little. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/distcheck-pr18286.sh', as it's now passing. * t/subdir-am-cond.sh: Adjust to avoid a fully spurious failure due to the new distcheck semantics. * t/subdir-ac-subst.sh: Likewise. * t/dejagnu-relative-srcdir.sh: Likewise. * t/txinfo-builddir.sh: Likewise. * NEWS: Update. Helped-by: Nicola Fontana <ntd@entidi.it> Helped-by: Peter Johansson <trojkan@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | Merge branch 'micro' into minorStefano Lattarini2014-12-191-0/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | * micro: sync: update third-part files from upstream Make sure AM_INIT_AUTOMAKE has a trailing newline dist: adjust warning messages about shar and tarZ deprecation docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | Make sure AM_INIT_AUTOMAKE has a trailing newlineStefano Lattarini2014-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This used to be the case until Automke 1.13, but we broke it in Automake 1.14 (see commit v1.13.1-71-gf78b0f0). This caused issues like http://debbugs.gnu.org/16841 * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust. * t/aminit-trailing-dnl-comment-pr16841.sh: New test. * t/list-of-tests.mk: Add it. * NEWS, THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | docs: improve description of ${PACKAGE}, ${VERSION}, and similar variablesStefano Lattarini2014-12-181-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, suggesting that $PACKAGE and $VERSION should be aliases of the $PACKAGE_TARNAME and $PACKAGE_VERSION definitions coming from AC_INIT, and not be defined via an obsolete 2-argument invocation of AM_INIT_AUTOMAKE; and why that is the best default, given all our historical baggage. See discussion in http://debbugs.gnu.org/16623 for more information and background. * doc/automake.texi: Adjust. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Fix dumb logic error preventing $install_sh from being be overriddenThomas Jahns2014-12-171-0/+1
| | | | | | | | | | | | | | * m4/install-sh.m4: Here. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | init: ensure $ac_aux_dir is defined before being usedStefano Lattarini2014-04-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we use '$ac_aux_dir' to define '$am_aux_dir', we need to ensure the former has been initialized before we try to define the latter, otherwise the definition: am_aux_dir=`cd $ac_aux_dir && pwd` will set '$am_aux_dir' to '$HOME', likely causing weird and unexpected behaviours. This change fixes automake bug#15981. * m4/auxdir.m4 (AM_AUX_DIR_EXPAND): AC_REQUIRE expansion of 'AC_CONFIG_AUX_DIR_DEFAULT'. Fix redundant comment and AC_PREREQ, add extra quoting around '$ac_aux_dir'. * t/auxdir-pr15981.sh: New test. * t/auxdir-cc-pr15981.sh: Likewise. * t/list-of-tests.mk (handwritten_TESTS): Add them. * THANKS, NEWS: Update. * bin/automake.in: Fix a harmless typo in comments, that I happened to notice while writing this patch. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Typofixes in warning messages and manualStefano Lattarini2014-04-211-0/+1
| | | | | | | | | | | | Fixes automake bug#16827 and bug#16997. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Allow user to extend .PRECIOUS targetStefano Lattarini2013-12-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | References: <http://lists.freedesktop.org/archives/systemd-devel/2013-July/012155.html> <http://lists.gnu.org/archive/html/automake/2013-07/msg00011.html> * bin/automake.in: Adjust to ensure we handle '.PRECIOUS' the same way we do for '.PHONY' and '.MAKE'. * lib/Automake/Rule.pm: Likewise. * t/precious.sh: New test. * t/list-of-tests.mk: Add it. * t/phony.sh: Enhance a little while at it. * NEWS: Update. * THANKS: Likewise. Reported-by: Holger Hans Peter Freyther <holger@freyther.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | install-sh: be stricter in catching invalid usagesStefano Lattarini2013-12-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Such usages (which are rejected by GNU install as well) are: - options -d and -t used together; - argument passed to option -t must be a directory; - if there are two or more SOURCEFILE arguments, the DESTINATION argument must be a directory. Note that we still allow the use of options -d and -T together, by making -d take the precedence; this is for compatibility with GNU install. This change fixes, among other things, automake bug#15376. * lib/install-sh: Adjust. * t/install-sh-unittests.sh: Enhance. * NEWS: Update. * THANKS: Add reporter of bug#15376. Helped-by: Tobias Hansen <thansen@debian.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | install-sh: assume 'dirname' is available and working correctlyStefano Lattarini2013-10-301-0/+1
|/ | | | | | | | | | | Really, we no longer care about hosts so outdated/broken to miss fundamental utilities like basename or dirname. * lib/install.sh: Adjust. * NEWS, THANKS: Update. Suggested-by: Philipp A. Hartmann <philipp.hartmann@offis.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: fix spurious failure when zip is present but unzip is notStefano Lattarini2013-10-301-0/+1
| | | | | | | | | | | | Fixes automake bug#15181. * t/dist-formats.tap (have_compressor): When checking that zip(1), also check for unzip(1), otherwise "make distcheck" will be unable to extract the zip tarball it creates, which will cause spurious failures. While at it, reorganize the existing code a bit. * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: fix spurious failure due to localization issuesStefano Lattarini2013-10-301-0/+1
| | | | | | | | | | Fixes automake bug#15237. * t/autohdr-subdir-pr12495.sh: Ensure make is run in the C locale, so that we can expect error messages in English when grepping its output. * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* cosmetics: typofix in the 'missing' scriptVáclav Zeman2013-10-281-0/+1
| | | | | | | | * lib/missing: Here, in a message printed to the user. * THANKS: Update. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* test: avoid false positives in 'cc-no-c-o' scriptStefano Lattarini2013-07-231-0/+1
| | | | | | | | | | | | | Fixes automake bug#14911. * t/ax/cc-no-c-o.in: Be more careful in determining whether both the '-c' and '-o' options have been passed on the command line to the compiler. In particular, do not spuriously complain in the face of options like '-compatibility_version' or '-current_version' (seen on Mac OS X 10.7). * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* test harness: improve catching of usage errors in script 'test-driver'Stefano Lattarini2013-07-211-0/+1
| | | | | | | | | | | | | Fixes automake bug#14840. * lib/test-driver: Catch and report usage errors where the caller has forgotten to specify one of the mandatory options (--test-name, --log-file, --trs-file) or has not passed any non-option argument. Also, be sure to work correctly even when no '--' special argument is passed to separate option from non-options arguments. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into maintStefano Lattarini2013-06-121-1/+1
|\ | | | | | | | | | | | | | | | | * micro: THANKS: update e-mall address for Ralf Corsepius lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * THANKS: update e-mall address for Ralf CorsepiusStefano Lattarini2013-06-121-1/+1
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-06-031-0/+1
|\ \ | |/ | | | | | | | | | | | | * micro: NEWS: minor fixlets, re-wording, and better text wrapping tests: slightly stricter checks in t/cxx-demo.sh tests: fix spurious failure when 'etags' program is Exuberant Ctags tests: fix spurious failure due to missing sleeps
| * tests: fix spurious failure due to missing sleepsStefano Lattarini2013-06-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes automake bug#14528. * THANKS: Give credit to that bug's original reporter. * t/remake-configure-dependencies.sh: Add few missing '$sleep' invocations. I thought that the sleeps implicit in the configure invocation were enough, but they were not, actually. Here is what can happen: 1. The config.status script is generated by a configure run. 2. ./config.status and make are run. 3. The 'print-version' script is modified. 4. Since that script is listed in $(CONFIGURE_DEPENDENCIES), autoconf is re-run. 5. On a fast-enough machine, the three steps 2-4 above, even combined, might have taken less than a second to run; 6. If the filesystem doesn't have a sub-second timestamp resolution, that means the newly-generated configure has the same timestamp of the old config.status; 7. So, config.status is not re-run, and the Makefiles are not updated. 8. Spurious failure! So we really need more explicit sleeps. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-05-291-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * micro: NEWS: fix typos and grammaros NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441
| * tests: expose automake bug#14441Stefano Lattarini2013-05-271-0/+1
| | | | | | | | | | | | | | | | * t/suffix-custom-pr14441.sh: New test, still failing. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. Helped-by: Felix Salfelder <felix@salfelder.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | THANKS: update Akim's e-mail addressStefano Lattarini2013-05-151-1/+1
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | THANKS: update Eric Blake's e-mail addressStefano Lattarini2013-05-101-1/+1
|/ | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: we still don't have the promised better Java interfaceStefano Lattarini2013-05-091-0/+1
| | | | | | | | | | | | | Reported by Michael Zucchi: <http://lists.gnu.org/archive/html/automake/2013-05/threads.html> See also automake bug#9088. * doc/automake.texi (Java): Adjust and clarify. * THANKS: Update. Reported-by: Michael Zucchi <notzed@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'fix-pr12554' into branch-1.13.2Stefano Lattarini2013-04-301-0/+1
|\ | | | | | | | | | | | | | | | | | | | | * fix-pr12554: tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
| * tests: expose bug#12554 (false positives for presence of '-k' make option)Stefano Lattarini2013-04-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of the code descending into $(SUBDIRS) entries uses the following snippet to decide whether make is running with the '-k' a.k.a. '--keep-going' option, and thus whether a failure in a subdirectory should prevent the descent in the following ones: fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done It's clear that the second pattern in the 'case' construct can possibly match false positives, for examples in these two cases: make check TESTS="x.test k.test" make -I /usr/local/kool-fragments which are somewhat unusual, but not invalid. So we need a more resilient implementation, as we did for the detection of the '-n' flag. But alas, such an implementation seems quite tricky to obtain in portable make. So for the moment we content ourselves with exposing the bug, with the hope of being able to fix soon enough. * t/subdir-keep-going-pr12554.sh: New test. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. * THANKS: Update Reported-by: Michael Daniels <mdaniels@rim.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'fix-pr13588-pax-hangs' into branch-1.13.2Stefano Lattarini2013-04-301-0/+3
|\ \ | |/ |/| | | | | * fix-pr13588-pax-hangs: tar: format 'ustar' cannot support UID/GID longer than 21 bits
| * tar: format 'ustar' cannot support UID/GID longer than 21 bitsStefano Lattarini2013-04-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See automake bug#8343 and bug#13588. POSIX 1988 'ustar' format is defined with *fixed-size* fields. There is notably a 21 bits limit (2097151) for the UID and the GID. Tom Rini tom_rini@mentor.com says (in bug#8343): When the user has a UID or GID that is larger than the ustar format supports, pax does not error out gracefully in some cases (FC13). Marc Herbert <marc.herbert@intel.com> adds (in bug#8343): When "configure" is run by a user with an UID bigger than 21 bits, BSD pax 3.4 aborts when trying to create the 'conftest.tar' test archive and leaves an empty or corrupted conftest.tar file behind. In the next step, pax tries to extract this incomplete or corrupted archive and this *** hangs the whole ./configure script ***. Note: GNU cpio 2.9 pretends to pass the test but it is a LIE: it silently truncates any big UID to its lower 21 bits. I don't know what can be the consequences of this lie. I think there is currently a design issue in automake/m4/tar.m4 considering that a ustar archive should should *never* succeed when ./configure is run from a big user ID. Months later, Petr Hracek <phracek@redhat.com> reports a similar issue (in bug#13588) for Fedora 17: I am trying to solve problem in case a user is created with big UID and during configuration pax hangs with message ATTENTION! pax archive volume change required. Ready for archive volume: 1 Input archive name or "." to quit pax. Archive name > and needs user interaction. Reference: <https://bugzilla.redhat.com/show_bug.cgi?id=843376> Time to fix this issue, on the line of a preliminary patch provided by Petr Hracek in bug#13588. The final patch ended up being remarkably different from that original proposition, though. * m4/tar.m4 (_AM_PROG_TAR): If the UID or GID of the current user is too high (> 2097151), the 'ustar' format cannot work. Adjust checks accordingly. Some related code reordering and clean-up. * t/tar-ustar-id-too-high.sh: New test. * t/list-of-tests.mk: Add it. * t/tar.sh: While at it, tweak and enhance a little. * t/tar2.sh: Likewise. * t/tar3.sh: Likewise. * t/tar-override.sh: Likewise. * NEWS: Update. * THANKS: Likewise. Helped-by: Pavel Raiskup <praiskup@redhat.com> Helped-by: Petr Hracek <phracek@redhat.com> Helped-by: Marc Herbert <marc.herbert@intel.com> Helped-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Add missing '$' for variable expansion in depout.m4Gavin Smith2013-04-191-0/+1
| | | | | | | | | | | | | | | | | | | | * m4/depout.m4: "am__include" appeared where "$am__include" was meant. Reference: <http://lists.gnu.org/archive/html/automake-patches/2013-04/msg00000.html> Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'fix-pr13514' into branch-1.13.2Stefano Lattarini2013-02-211-0/+1
|\ \ | | | | | | | | | | | | | | | * fix-pr13514: aclocal: fix for more-than-once specified directories aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
| * | aclocal: just warn if the primary local m4 dir doesn't exist (don't error)Pavel Raiskup2013-02-201-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to automake bug#13514. Every package which does not need to have the local m4 macro directory pre-existing in the version control system (because e.g., it does not have nor need any private m4 macros) would fail during the "autoreconf -vfi" phase if AC_CONFIG_MACRO_DIRS([m4]) is specified in configure.ac (it could be to instruct tools like 'autopoint' and 'libtoolize' to use 'm4' as the local directory where to install definitions of their m4 macros, and to instruct aclocal to look into it). The failure would go like this: autoreconf: Entering directory `.' autoreconf: running: aclocal --force aclocal: error: couldn't open directory 'm4': No such file or directory autoreconf: aclocal failed with exit status: 1 The problem is that when 'aclocal' is run for the first time during 'autoreconf', the directory 'm4' does not exist yet. It will be created by e.g., 'libtoolize' or 'autopoint' later on. During the second 'aclocal' run, the 'm4' directory exists and aclocal does not complain. To work around this issue, we degrade the error to a simple warning. The warning is still quite useful when aclocal is run by hand - so we are not removing completely. See also: <http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html> <http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00030.html> <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663> <https://bugzilla.redhat.com/show_bug.cgi?id=901333> * aclocal.in (SCAN_M4_DIRS_SILENT, SCAN_M4_DIRS_WARN) (SCAN_M4_DIRS_ERROR): New constants. (scan_m4_dirs): Change the second parameter name to $ERR_LEVEL to better reflect new semantic. Use new constants. (scan_m4_files): Adjust to reflect the new 'scan_m4_dirs' semantics. * t/aclocal-macrodir.tap: Adjust. * t/aclocal-macrodirs.tap: Likewise. * THANKS: Update. * NEWS: Likewise. Suggested-by: Ben Pfaff <blp@cs.stanford.edu> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | coverage: expose automake bug#13760Stefano Lattarini2013-02-201-0/+1
|/ | | | | | | * t/make-dryrun.tap: Here. * THANKS: Update with the name of the bug reporter. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: parallel-tests is no longer experimentalStefano Lattarini2013-01-181-0/+1
| | | | | | | | | | | | So don't declare it as such in the documentation. Reported by Brandon Black: <http://lists.gnu.org/archive/html/automake/2013-01/msg00052.html> * doc/automake.texi: Adjust. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: serial-tests are not deprecated, just discouragedStefano Lattarini2013-01-181-0/+1
| | | | | | | | | | | | | | | | | We don't plan to remove support for them, nor to have the serial-tests option give any kind of runtime warning, so don't alarm the users still using serial tests with pointless "deprecation" or "obsolescence" warnings. Fixes automake bug#13478. See also: <http://lists.gnu.org/archive/html/automake/2013-01/msg00058.html> * doc/automake.texi: Adjust. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocationStefano Lattarini2013-01-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Albeit obsolescent and raising warnings in the 'obsolete' category, that usage is still supported, and will need to be until Autoconf improves its handling of configure-time-generated package version numbers. So it's better to explicitly document it again, stating that it is obsoleted but still working (and why), rather then leaving it as Yet Another Undocumented Feature (that will mysteriously and suddenly break some random day in the future). It's worth giving some background about how we ended up in the situation that this patch fixes. We had originally removed support for the long-deprecated two-args AM_INIT_AUTOMAKE invocation (see commit v1.12-67-ge186355). Before that removal could land in a released Automake version, Bob Friesenhahn made a quite compelling point that the two-args AM_INIT_AUTOMAKE invocation could still be useful for modern, maintained packages like GraphicsMagick, at least until Autoconf is fixed to offer better support for "dynamic" package versions (see commit v1.12.2-245-g2abe183 for more in-depth rationales and references). However, in that commit we didn't revert the removal of the *documentation* for this two-arguments AM_INIT_AUTOMAKE invocation (and no rationale for not doing so was given in the commit message). Time to remedy that. Indirectly suggested by Diego Elio Pattenò: <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains> * doc/automake.texi: Adjust. * NEWS: Update. * THANKS: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPsStefano Lattarini2013-01-011-0/+1
| | | | | | | | | | | | | Issue spotted perusing the testsuite logs reported in bug#13317. * t/pkg-config-macros.sh: Don't use (uninitialized) '$dir' where '$d' should have been used instead. Set IFS to ':' before looping on the $PATH expansion. Fix typo: 'alocal' instead of 'aclocal'. These issues were causing the location in PATH of the 'pkg-config' program not to be found even when the program was present. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* vala: AM_PROG_VALAC should not produce an error for tool-old valacSébastien Wilmet2012-10-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes automake bug#12688. In the AM_PROG_VALAC macro, when the optional parameter specifying the minimum release number is not provided, and/or if the Vala compiler is not found, then there is a _warning_ message. On the other hand, when the version number is specified and if the Vala compiler is too old, there is an _error_ message. This error message is problematic, because for a tarball, the Vala compiler is not required: the generated C code is included in the tarball. So if a user wants to compile the software, he shouldn't need the valac program with the right version. * m4/vala.m4 (AM_PROG_VALAC): Modify to use AC_MSG_WARN instead of AC_MSG_ERROR. * t/vala4.sh: Adjust and enhance. * doc/automake.texi (Vala Support): Likewise. * THANKS: Update. Co-authored-by: Matthieu Baerts <matttbe@glx-dock.org> Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* config headers: don't emit rules for headers not generated by autoheaderStefano Lattarini2012-10-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixed automake bug#12495. Even if an AC_CONFIG_HEADERS invocation is passed a list of several files as the first argument, only the first one of those file is considered by autoheader for automatic generation of the corresponding '.in' template. This is done on purpose, and is clearly documented in the Autoconf manual, which (as of the 2.69 version) reads something like this: The autoheader program searches for the first invocation of AC_CONFIG_HEADERS in configure sources to determine the name of the template. If the first call of AC_CONFIG_HEADERS specifies more than one input file name, autoheader uses the first one. That is, an invocation like: AC_CONFIG_HEADERS([config.h config2.h]) should cause autoheader to generate only a 'config.h.in' template, and not also a 'config2.h.in' one. Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate remake rules only for the template associated to the first input file name passed to that macro. In some situations, however, automake failed to properly limit itself in this way; for example, with an input like: AC_CONFIG_HEADERS([config.h sub/foo.h]) in configure.ac, and with the 'sub' directory listed in the SUBDIRS variable of the top-level Makefile, automake would erroneously generate in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by invoking autoheader. This issue was likely introduced in commit 'Release-1-8-23-g262bb92' of 2004-01-05. * NEWS: Update. * doc/automake.texi (Optional): Improve wording in the description of hat rules automake generates in response to an 'AC_CONFIG_HEADERS' invocation. * lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for the %CONFIG_HIN% template if that corresponds to the first argument of AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time conditional %?FIRST-HDR%, that is properly passed ... * automake.in (handle_configure): ... from a 'file_contents' invocation in here. * t/autohdr-subdir-pr12495.sh: New test. * t/list-of-tests.mk: Add it. * THANKS: Update. Helped-by: Hib Eris <hib@hiberis.nl> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* ylwrap: fix C++ support for BisonAkim Demaille2012-07-141-0/+1
| | | | | | | | | | | | | | | | | | | | Fixes automake bug#7648. The current logic of ylwrap is to call yacc in a sub directory, and pull out of it all the files that were requested on its command line. Reverse this approach: export *all* the files created in the subdirectory, but rename them according to what the command says. This way, extra files, such as position.hh, location.hh and stack.hh for C++ parsers, but also parser.xml or parser.dot if XML or Dot output is enabled, will be preserved. * lib/ylwrap (pairlist): Remove. (main loop): Don't loop over pairlist, but over the files in the temporary directory. * t/list-of-tests.mk (XFAIL_TESTS): Fixes t/yacc-bison-skeleton-cxx.sh. * THANKS (James Bostock): Add, he reported bug#7648. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: avoid spurious TAP errors on Mac OS X 10.7Stefano Lattarini2012-07-101-0/+1
| | | | | | | | | | | | | | Fixes automake bug#1897. Reported by Max Horn. * t/suffix8.tap: The libtool bug#11895 was causing the ./configure script to output a stray "ok" string on a line of its own, confusing the TAP driver into thinking this was an extra test result (which resulted in the next, real test results being flagged as "OUT-OF-ORDER"). Fix this by protecting configure output. * t/suffix10.tap: Likewise, and for the "make distcheck" output as well. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* aclocal: declare function prototypes, do not use '&' in function callsStefano Lattarini2012-05-291-0/+1
| | | | | | | | | | | | | | This change will also fix automake bug#11543 (from a report by Matt Burgess). * aclocal.in: Declare prototypes for almost all functions early, before any actual function definition (but omit the prototype for the dynamically generated '&search' function). Add prototypes to any function definition. Remove '&' from function invocations (i.e., simply use "func(ARGS..)" instead of "&func(ARGS...)"). * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* ylwrap: preserve subdirectories in "#line" mungingNikolai Weibull2012-05-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | If Automake is used in non-recursive mode and one of the inputs is a yacc file, for example, "src/grammar.y", ylwrap will remove too many directories from the output file when it adjusts the paths in it. This results in #line directives referring to "grammar.y" instead of "src/grammar.y". This is a result of $input_rx simply taking all the directory components of the absolute input path and removing them. One solution is to store the path passed to ylwrap and replace $input_rx with it. This is what we do. Suggestion and initial patch (without tests) by Nikolai Weibull: <http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html> Final patch by Stefano Lattarini. * lib/ylwrap ($input_sub_rx): New. When munging the #line directives, substitute '$input_rx' with it, instead of stripping it altogether. Adjust comments. * t/yacc-line.sh, t/lex-line: Adjust and extend. * NEWS, THANKS: Update. Copyright-paperwork-exempt: yes Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* cosmetics: fix typo in aclocal m4 directory READMEAndrew Eikum2012-05-011-0/+1
| | | | | | | | | * m4/acdir/README: Add forgotten "if". * THANKS: Update. Copyright-paperwork-exempt: yes Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* cosmetics: fix spacing in THANKSStefano Lattarini2012-04-281-394/+394
| | | | | | | | * THANKS: Use spaces, not tabs, to separate a reporter's name from his e-mail address. Also, increase such spacing, to allow a more consistent formatting with longer names. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: fix a failure in Lex/C++ tests on Mac OS XStefano Lattarini2012-04-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | The <cstdio> header from Xcode-4.3.2 on Mac OS X 10.7.3 declares a 'isatty' function with C++ linkage, that conflicts with our dummy definition of the same function, which in turn is required to work around the absence of the unistd.h header on MinGW (see commit 'v1.11-2138-gfeea090' of 11-04-2012). So we tweak the affected tests to work around this new problem as well. This fixes automake bug#11345. * t/lex-clean-cxx.sh ($required): Since we are at it, add an explicit 'c++' requirement. * t/lex-depend-cxx.sh ($required): Likewise. (my-hdr.hxx): Don't include <cstdio>. The "using namespace" directive should still be enough to ensure the content of this header is not valid C, albeit being of course valid C++. Fix unrelated typos in comments. (joe.ll): Adjust, by removing the call to 'printf'. * THANKS: Add entry for reporter "Adam Mercer". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* build: use latest help2man, but without locale supportJim Meyering2012-04-161-1/+1
| | | | | | | | * doc/help2man: Update to latest (1.40.8), but built with --disable-nls, which elides the less-portable locale-related code, and with the "use 5.008" manually changed to "use 5.006". Thanks to Brendan O'Dea for the tips. * THANKS: Update Brendan's address.
* test defs: unset 'AM_UPDATE_INFO_DIR' environment variableStefano Lattarini2012-04-131-0/+1
| | | | | | | | * defs (AM_UPDATE_INFO_DIR): Unset, to be sure to avoid unduly interferences from the environment. See also automake bug#11204. * THANKS: Add entry for David Fang. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>