kc3-lang/automake

Branch :


Log

Author Commit Date CI Message
819005ae 2012-03-15 09:12:00 python: avoid failures due to $(am__py_compile) being undefined Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf. * lib/am/python.am: Move the definition of 'am__py_compile' to ensure it is always emitted in the output Makefile.in. Previously, this wouldn't have happened if the input Makefile.am contained a 'noinst_PYTHON' declaration before a 'python_PYTHON' one. * tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and 'python.test'. * NEWS: Update. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
463b6405 2012-03-15 09:00:12 python: expose automake bug#10995 * tests/python.test: Expose the bug in grepping tests. * tests/python-noinst.test: New functional test to expose the bug. * tests/list-of-tests.mk: Add it. * tests/Makefile.am (XFAIL_TESTS): Add the new test and the extended one. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
52ce42bb 2012-03-10 08:49:55 tests: avoid spurious failures in get-sysconf.test This change fixes the last bit of automake bug#10866. * tests/get-sysconf.test: When Homebrew spawns a build, even if from a project's VCS, it stages the files in a new temporary directory, instead of building directly from a VCS checkout. This behaviour was causing a spurious failure in this test, which expected to find either a ChangeLog file or a .git directory in the source directory (the former happening when the test was run from a distribution tarball, the latter when it was run from a git checkout). The Homebrew issue shows that these expectations are not truly warranted, so relax the test to just give a warning, not a failure, in case they do not hold. Since we are at it, fix an unrelated weakness in the displaying of the git log, which could have failed when the builddir was not a subdirectory of the srcdir. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
fdde53d3 2012-03-12 16:58:55 scripts: bump the depcomp scriptversion * lib/depcomp (scriptversion): Bump, to account for recent changes.
327358d8 2012-03-12 15:10:39 sync: some auxiliary files synced from upstream * lib/texinfo.tex: Synced from upstream, by "make fetch". * lib/config.guess: Likewise. * lib/config.sub: Likewise. * lib/gnupload: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e9927ea3 2012-03-12 14:41:04 coverage: an empty foo_PRIMARY should create directory $(foodir) For example, a Makefile.am containing the definition: pkgdata_DATA = should cause the 'install' rule of the generated Makefile.in to create the '$(pkgdatadir)' directory (respecting any DESTDIR setting as well). Suggestion by Peter Breitenlohner in automake bug#10997. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
650dba08 2012-03-12 12:15:47 coverage: make sure am__py_compile is defined when needed See automake bug#10995. * tests/python.test: Also make sure 'am__py_compile' is defined correctly in the generated Makefile.in. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b1536607 2012-03-12 11:46:04 coverage: expose automake bug#10997 * tests/instdir-cond.test: New test. * tests/list-of-tests.mk: Add it. * tests/Makefile.am (XFAIL_TESTS): Likewise. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
370e5775 2012-03-09 21:35:04 coverage: expose automake bug#10975 * tests/dist-pr10975.test: New test. * tests/list-of-tests.mk: Add it. * tests/Makefile.am (XFAIL_TESTS): Likewise.
ddac0505 2012-03-07 23:26:24 getopt: relax version requirement for perl * lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated 04-03-2012).
27f3c562 2012-03-07 22:14:47 cosmetics: fix repeated changelog entry heading
3a814608 2012-03-07 21:08:06 Merge branch 'msvc' into maint This merge remedies the confusing situation that some changes destined for both the master branch and the release branch (a.k.a. branch-1.11) currently needs to be made on the non-obvious msvc branch and not on the more natural maint branch. This has caused a seemingly endless string of less than optimal commits. The reason for the confusion stems from the fact that the changes made on the msvc branch became too radical and was considered only suitable for the master branch, and was thus written in a form suitable for master and then merged there. Later, the msvc branch was merged directly into branch-1.11, in order to rush the new features to the market and to keep the released scripts (lib/ar-lib, lib/compile and lib/depcomp) consistent with those on the master branch. However, some changes had to be made to the features added by the msvc branch in order for them to fit the requirements of branch-1.11, notably that the warnings issued in the extra-portability class cannot be enabled by -Wall in the 1.11.x maintenance releases. In retrospect, it would have been better to not merge msvc directly into branch-1.11, but instead do it via the maint branch (followed up with a dummy merge from maint into master) the moment it was decided that the msvc changes should make it into branch-1.11. All in all, this merge is going to affect neither the master branch nor branch-1.11, since it is followed up with dummy merges masking all changes. The merge is made to maintain the sanity of the poor developers, who wishes to once again have a working maint branch. Discussion about merging the msvc branch into branch-1.11: http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html Discussion about why this merge hasn't happened before: http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html Extra edits below. * lib/Automake/ChannelDefs.pm: Use the version from branch-1.11. * tests/ar-lib3.test: Likewise. * tests/ar-lib4.test: Likewise. * tests/extra-portability.test: Likewise. * tests/extra-portability2.test: Likewise. * tests/extradep.test: Likewise. * tests/extradep2.test: Likewise. * tests/list-of-tests.mk: Likewise. * HACKING: Backport the version from branch-1.11 while at it (as the change on branch-1.11 is also present on master via an unrelated commit), even though this change has nothing to do with the changes on the msvc branch.
24ab9845 2012-03-07 08:20:26 Merge branch 'maint' into msvc * maint: news: describe recently-fixed bug in vala support depcomp: add support for IBM xlc/xlC compilers
94d56e80 2012-03-06 21:44:57 news: describe recently-fixed bug in vala support * NEWS (Long-standing bugs): Document fix for bug#10894, fixed by commit 'v1.11-696-g51f61df' of 27-02-2012.
b0887067 2012-03-05 20:05:37 depcomp: add support for IBM xlc/xlC compilers * lib/depcomp (xlc): New depmode. * NEWS, THANKS: Update. Copyright-paperwork-exempt: yes
8902f83d 2012-03-06 09:14:50 scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile POSIX mandates that the compiler accepts a space between the -I, -l and -L options and their respective arguments. See http://pubs.opengroup.org/onlinepubs/000095399/utilities/c99.html * lib/compile (func_cl_dashl): New function with factored out code for implementing the -l option for the cl wrapper. (func_cl_dashL): New function with factored out code implementing the -L option for the cl wrapper. (func_cl_wrapper): Use func_cl_dashl to implement both -l <lib> and -l<lib>, and func_cl_dashL to implement both -L <dir> and -L<dir>. Also add support for -I <dir>. (scriptversion): Update. * tests/compile3.test: Test both with and without a space between -I, -l and -L and their respective arguments. * tests/compile5.test: Likewise. * tests/compile6.test: Likewise. * tests/compile3.test: Likewise. * NEWS: Update.
54a402e5 2012-03-02 16:27:31 news: add entry about recent 'ar-lib' changes * NEWS: Add information about recent 'ar-lib' changes.
8be5d254 2012-03-01 09:30:45 scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib * lib/ar-lib: Implement the "q" (quick) action as a synonym for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol index) when used as modifiers and "s" when used as a command, there is simply no way for Microsoft lib to not update the symbol table index in the archive. (scriptversion): Update. * tests/ar-lib.test: Check the added behavior. Also add checks for the recently added "u" (update) and "v" (verbose) modifiers.
aadd78e9 2012-03-02 11:04:05 Merge branch 'maint' into msvc
51f61dfb 2012-02-27 21:48:03 vala: fix 'valac' calls for projects with mixed Vala/C Fixes automake bug#10894. * automake.in (lang_vala_finish_target): Strip non-vala files from the dependencies of vala stamps, and from the invocation of valac compiler. Related refactorings. * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'.
7d335efe 2012-02-27 21:16:22 vala: expose automake bug#10894 * tests/vala-mix2.test: New test. * tests/list-of-tests.mk: Add it. * tests/Makefile.am (XFAIL_TESTS): Likewise. * THANKS: Update.
4df475a2 2012-02-17 11:52:13 dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS) * lib/am/header-vars.am (am__make_dryrun): Be smarter and more correct in handling shell metacharacters in $(MAKEFLAGS).
db5ddc2b 2012-02-16 10:33:30 update-copyright: don't touch files synced from external packages * Makefile.am (update-copyright): Do not update copyright years of files synced from external packages, as given by the '$(FETCHFILES)' variable. Silence the recipe since we are at it.
8dd50099 2012-02-15 19:00:10 fixup: distribute 'lib/update-copyright' While the 'update-copyright' script shouldn't be needed by final users, that's not a good reason to keep it out by the distribution, as doing so might be unhelpful toward occasional but curious users interested in peeking into the automake build system. * lib/Makefile.am (EXTRA_DIST): Distribute 'update-copyright'.
43b8af82 2012-02-12 16:57:42 maint: add a rule to use gnulib's update-copyright * lib/update-copyright: New file, from gnulib. * Makefile.am (FETCHFILES): Add update-copyright to the list. (fetch): Fetch it. (update-copyright): New rule.
4ced60d7 2012-02-14 12:55:32 fixup: do not tickle makefile-deps.test with the make_dryrun code * lib/am/header-vars.am (am__make_dryrun): Avoid code matching '^ *:' in the Makefile, as that tickles makefile-deps.test.
06684c51 2012-02-14 13:25:35 gitattributes: custom merge driver for ChangeLog not needed anymore * .gitattributes: We don't maintain a version-controlled ChangeLog file anymore, so we have no need to specify a custom merge driver for it anymore. Update accordingly.
f874f9ee 2012-02-14 13:21:26 gitattributes: use "union" merge driver for NEWS This should help in reducing the spurious merge conflicts for the NEWS file, which have already caused a great deal of confusion and wasted time. Suggestion by Eric Blake: http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00119.html * .gitattributes (NEWS): Use the "union" merge driver.
3974270e 2012-02-09 18:07:13 Merge branch 'dryrun-fix' into maint * dryrun-fix: dryrun: fix regression with '$(am__make_dryrun)'
6fca3afa 2012-02-03 16:10:52 depcomp: try to prevent whitespace regressions Suggested by Stefano Lattarini. * lib/depcomp: Add $tab and $nl variables and use them throughout.
81193035 2012-02-03 08:54:49 depcomp: recognize tabs as whitespace in the dashmstdout mode Commit Release-1-7-2b-2-gf03ceab "Cope with DOS filenames in dependencies." inadvertedly converted tabs into spaces. * lib/depcomp (dashmstdout): Add a tab character to all sets matching whitespace.
1e2ced5c 2012-02-08 14:40:15 depcomp: quote 'like this', not `like this' Cherry-picked from recent changes from master. * lib/depcomp: Quote 'like this', not `like this'.
f5f838a2 2012-02-07 19:53:49 tests: fix a timestamp-related spurious failures Fixes automake bug#10737. Report from Larry Daniel. See also automake bug#8365 and commit 'v1.11-329-gd4df619' of 30-03-2011, "tests: fix timestamp-related failures". * tests/aclocal5.test: Sleep before modifying m4 files that should trigger remake rules. This fixes an hard-to-hit timestamp-related race condition. * THANKS: Update.
947ce0ed 2012-02-07 11:12:59 dryrun: fix regression with '$(am__make_dryrun)' In commit v1.11-683-gda0964e of 05-02-2012, we introduced a new variable '$(am__make_dryrun)' that could be used in recipes to determine whether make is running in dry mode (e.g., as with "make -n"). Unfortunately, the idiom we used fails to take into account the case in which $(MAKEFLAGS) contains one or more variable definitions whose value is a whitespace-separated list; for example, if we invoke make as: make check TESTS="n1.test n2.test" then the better make implementations out there (at least modern GNU make and BSD make) will export MAKEFLAGS to the following value: TESTS=n1.test\ n2.test So a shell loop like the one we used in $(am__make_dryrun): for flag in $$MAKEFLAGS; do ... won't behave as expected: the shell word-splitting rules will break up the entry for TESTS into the two distinct entries "TESTS=n1.test\" and "n2.test", and this second entry will goad our $(am__make_dryrun) code into thinking that make is performing a dry run! So now we simply loop over the expanded value of $(MAKEFLAGS). This solves the regression, but alas, is more brittle in case the users passes on the command line a macro value containing unbalanced " or ' quotes, or shell metacharacters like, say, '`' or '('. This should almost never happen though, so we don't worry about it now; we will revisit the issue only when and if we receive bug reports in this area. * lib/am/header-vars.am (am__make_dryrun): Fix. * tests/make-dryrun.test: New test. * tests/list-of-tests.mk: Add it.
ea4f1a91 2011-07-23 13:55:20 test defs: function 'is_newest' now works also with directories Reported by Jim Meyering against automake master (see bug#9147) and by Adam Sampson against automake 1.11.3 (see bug#10730). * tests/defs (is_newest): Call 'find' with the '-prune' option, so that it won't descend in the directories (which could cause spurious results). * THANKS: Update. Backported from commit v1.11-914-gb6a40fa (originally on master).
da0964eb 2012-01-23 21:02:05 refactor: new variable telling whether make is running in "dry mode" We define a new variable '$(am__make_dryrun)', that can be used in recipes to determine whether make is running in "dry mode" (as with "make -n") or not. This is useful in rules that invoke make recursively, and are thus executed also with "make -n" -- either because they are declared as dependencies to '.MAKE' (NetBSD make) or because their recipes contain the "$(MAKE)" string (GNU and Solaris make). * lib/am/header-vars.am (am__make_dryrun): New variable. * lib/am/check.am (check-TESTS recheck): Use it, and simplify recipe accordingly. * lib/am/distdir.am (distdir): Likewise. * lib/am/lisp.am ($(am__ELCFILES)): Likewise.
d51da57f 2012-02-02 21:08:46 tests: do not clobber the modified CC If CC is originally a losing compiler, AM_PROG_CC_C_O will modify CC. "$MAKE -e" will then clobber this modified CC and reintroduce the raw losing compiler causing the test to fail, as subdir-objects is in effect. tests/check8.test: Drop -e from the $MAKE invocation, since AM_COLOR_TESTS is not specified in the Makefile and -e is therefore not needed.
85cadc4e 2012-02-01 15:47:45 tests: put AM_PROG_CC_C_O before AC_OUTPUT to help losing compilers When AM_PROG_CC_C_O is after AC_OUTPUT, the compile script is not used even if needed, causing testsuite fails if libtool is not used. * tests/depcomp8a.test: Uncomment the AM_PROG_CC_C_O macro in its correct location, as indicated... (configure.in): ...with this comment. * tests/depcomp8b.test: Sync with tests/depcomp8a.test.
c3e4962a 2012-01-31 12:52:24 cleanup: remove unused .am file * lib/am/comp-vars.am: Remove. This file has stopped being useful since commit 'Release-1-4d-206-g3334f9a' of 09-04-2001, and should have been removed back then. But apparently only its contents were removed, leaving the file empty but still present in the repository. Or maybe this situation is the consequence of a minor blunder in the conversion from CVS to Git; either way, this is not a big deal.
2a2f57fc 2012-01-30 23:19:03 ar-lib: ignore the verbose modifier instead of erroring out * lib/ar-lib: A number of tests uses the v modifier when listing the archive content, ignore it to make them pass.
41404a8f 2012-01-30 23:16:37 scripts: cherry-pick recent changes from master * lib/ar-lib: prefer the term "Windows" over "Win32" and quote 'like this', not `like this'. * lib/compile: Likewise.
32cde2a4 2012-01-30 20:57:12 tests: do not assume the object file extension is .o * tests/specflg7.test: Dig out the object file extension from the OBJEXT makefile variable. * tests/substref.test: Likewise. * tests/specflg8.test: Likewise. Also check that the false-true object is created instead of checking the true-true object twice. * tests/suffix8.test: Add a chain rule for the case where the object file extension is .obj.
0436a1ed 2012-01-27 18:35:28 tests: avoid spurious failure of 'transform2.test' on Cygwin On newer Cygwin versions (at least 1.7.x), the 'transform2.test' test has been failing spuriously; the gist is the following: some *purposefully* rigged install rules there try something like: install bla.exe .../inst/bin/foo.exe install script.sh .../inst/bin/foo and the second install command fails (trying to overwrite the '.../inst/bin/foo.exe' file, likely due to overly aggressive appending of '.exe' suffix when copying/renaming Windows executables). Since this is a Cygwin issue rather than an Automake one (and since the use case we are testing is a really corner-case anyway, making it unworthy to attempt to work around it in automake proper), we simply hack the test case to avoid the failure. Analysis by Peter Rosin and Ralf Wildenhues. References: <http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00153.html> <http://thread.gmane.org/gmane.os.cygwin/119380> * tests/transform2.test: Skip the affected part of the test if the described Cygwin behaviour is detected.
d55b9302 2012-01-27 21:03:45 tests: avoid spurious failure of deleted-am.test with FreeBSD make * tests/deleted-am.test: Sleep between the removal of the included '.am' fragments and the subsequent "make" calls, to ensure that the remake rules kick in. This is required to avoid racy spurious failures (~ 60% of the time) with FreeBSD make.
be0a696a 2012-01-27 14:14:46 tests: avoid possibly undeserved PASS from check8.test * tests/check8.test: Strengthen grepping of "make check" output where we know no problem with VPATH rewrites can take place. This has the advantage of ensuring that we won't match also "sub/bar" when looking for "bar" during the uncolorized tests. Suggestion by Peter Rosin.
b6c3ed5e 2012-01-26 18:00:40 warnings: more precise category and message for one warning If automake detected an usage like "AC_CONFIG_FILES([./Makefile])" in configure.ac, it warned that such an usage was unportable to non-GNU make implementations. But the truth is actually worse: that is actually *unportable to GNU make* itself, since it breaks the automatic remake rules in subtle ways. So we now reveal this breakage in a new test case, and enhance the warning by giving it a more precise and correct wording, and by moving it from the category 'portability' to the category 'unsupported'. * automake.in (scan_autoconf_config_files): Improve the warning. * tests/conffile-leading-dot.test: New test. * tests/list-of-tests.mk: Add it.
af5f9390 2012-01-25 12:18:43 release: revamp rules to tag and upload the releases The older Makefile rules used to create and tag the releases were based on an approach we now consider flawed: they over-mechanized some delicate operations that are better performed manually *and* double-checked by a developer, and at the same time they did not run enough safety checks. * Makefile.am (GIT, version_rx, stable_version_rx, beta_version_rx, match_version, git_must_have_clean_workdir, determine_release_type): New variables. (git-release, git-dist): Remove, they are superseded by ... (git-tag-release, git-upload-release): ... these new targets.
49c91940 2012-01-25 13:45:36 amversion: add missing dependency * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Depend on configure.ac, since the value of $(VERSION) can change every time configure.ac is updated.
5060920b 2012-01-25 10:09:17 hacking: update advice w.r.t. synced files * HACKING: Update and improve advices and explanations about files in the automake repository that are now owned by automake, but mirrored from other upstreams. Also, don't list these files explicitly, rather point the reader to the $(FETCHFILES) variable in Makefile.am. * Makefile.am (FETCHFILES): Don't state that "there should be a lot more here", as this is not true anymore today. Only 'COPYING' must be synced by hand.
bff57e68 2012-01-25 09:50:54 hacking: don't reference ChangeLog anymore * HACKING: Don't reference the ChangeLog file anymore, since that is now generated from the git commit messages, not maintained by hand. So remove advice that is obsolete, and speak about "git commit message" instead of "ChangeLog entry" for advice that is still relevant.
3a422887 2012-01-22 17:18:59 tests: fix spurious failure due to autom4te caching * tests/lzma.test: Remove stale autom4te.cache directories, to prevent racy, spurious failures (using 'aclocal --force' was not enough, since the cache was still picked up by the following automake call).
b08103fe 2012-01-22 10:44:42 vala: fix name of temporary file used in vala rules Unquoted `@' characters in a "..." string in the automake script were causing slightly wrong rules to be emitted in the generated Makefile.in; i.e., rules like: rm -f $@ && echo stamp > $10t instead of the expected: rm -f $@ && echo stamp > $@-t * automake.in (lang_vala_finish_target): Fix that. * tests/vala.test: Enhance.
d266b5f7 2012-01-22 10:21:26 vala tests: add missing 'valac' requirement, and other minor fixlets See also automake bug#10575. * tests/vala-mix.test ($required): Add 'valac'; this will avoid spurious failures on systems lacking a Vala compiler. Add some explicative comments for a couple of non-obvious make calls. Make grepping of "make -n" slightly stricter, to avoid potential false positives.
8ddff100 2012-01-22 10:11:46 news: fix grammaro * NEWS (Miscellaneous changes): Fix grammaro: s/don't/doesn't/. Reported by Jim Meyering.
91158d72 2012-01-21 19:40:35 fixup: distribute 'contrib/multilib/multi.m4' This fix up a blunder in commit v1.11-665-gc5df21e of 2012-01-17, "multilib: deprecate, will be moved to contrib". * contrib/Makefile.am (EXTRA_DIST): Add 'multilib/multi.m4'.
c5df21e8 2012-01-17 19:48:06 multilib: deprecate, will be moved to contrib As of 2012-01-17, according to Google codesarch, almost no active package is using the 'multilib' feature offered by automake. The only major exception seems to be GCC... But on a closer look, it become clear that GCC basically carries its own version of multilib support. In fact, Automake syncs its 'config-ml.in' and 'symlink-tree' scripts from GCC; and the GCC repository contains a version of the 'multi.m4' file that is *more* updated than the one in the automake repository (the former having being modified the last time in 2008, the latter only in 2006). The 'multilib' feature was anyway hardly documented at all, only being briefly cited in the manual as an "obscure feature", "still experimental", that was only for users "familiar with multilibs" and which "can debug problems they might encounter". We expect such users to be motivated and knowledgeable enough to make the minor adjustments required to start using the contrib version of multilib, if they really need to. * NEWS (Future backward incompatibility): Update. * doc/automake.texi: Deprecate multilib support. State that it will be removed from automake core in the next major release. * m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate. If called, now gives a proper warning in the 'obsolete' category (while still retaining its former behaviour for the rest). * tests/multilib.test: Update. * contrib/multilib/multi.m4: New, verbatim copy of the earlier version of multi.m4, without the new deprecation warning. * Makefile.am (fetch): Don't sync the 'config-ml.in' file nor the 'symlink-tree' script from GCC SVN repository anymore. (FETCHFILES): Adjust. (WGET_GCC): Remove, it's not needed anymore.
84fbf466 2012-01-20 20:52:02 fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS This change fixes automake bug#10555. Note that the bug was a minor one, since it didn't affect the compilation rules generated by automake, but only only the "hints" printed by automake in some error messages (e.g., "The usual way to define `FFLAGS' is to add AC_PROG_F77 to configure.ac"). * lib/Automake/Variable.pm (%_ac_macro_for_var): The code generated by AC_PROG_F77 uses FFLAGS, not F77FLAGS, as the variable where to look for switches for the Fortran 77 compiler: adjust accordingly.
be0d69f0 2012-01-19 15:09:23 cosmetics: fix a botched comment in a maintainer check * Makefile.am (sc_tests_make_without_am_makeflags): Adjust botched description of this check.
52246cc7 2012-01-18 17:55:40 cmdline parsing: move into a dedicated perl module With this change, we delegate most of the automake and aclocal code for command-line options parsing to a new module "Automake::Getopt". This allows better code sharing between automake and aclocal, and also with Autoconf, which will sync the new module from us. See also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new Autom4te::Getopt module"), and this mailing list discussion: <http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html> This change might interact with the behaviour described in automake bug#7434; for example, starting from now, "automake -Wfoo --version" will cause automake to emit diagnostic like "unknown warning category 'foo'" before actually printing the version number and exiting. This is not a big deal in practice, and the code sharing and simplifications introduced by this patch is certainly worth it. Still, we should revisited the issue in the future. * lib/Automake/Getopt.pm: New module, basically a slightly-edited copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel repository (commit v2.68-120-gf4be358). It defines and exports ... (parse_options): ... this new function. * automake.in (parse_arguments): Use the new function. * aclocal.in (parse_arguments): Likewise. * lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file. * tests/getopt.test: Remove. * tests/list-of-tests.mk: Update.
a1e77caf 2012-01-18 13:40:21 cosmetics: move CheckListOfTests.am into tests/ After the previous change 'v1.11-660-gfbeda3d', the makefile fragment 'CheckListOfTests.am' is used only by the Makefile.am in 'tests'; so keeping them two nearer makes sense. It also help in reducing potential confusion, since (after that same change) the whole Automake testsuite is expected to be (and remain) contained into the 'tests' subdirectory. * CheckListOfTests.am: Move ... * tests/CheckListOfTests.am: ... to this. * tests/Makefile.am (include): Adjust.
fbeda3da 2012-01-18 12:17:11 tests: move all under the same hierarchy ('tests/' directory) This simplifies the organization of the Automake source tree and reduces the (lamentably high) number of Makefiles in the Automake build system by one. It also makes the maintainer check that verifies the consistency of list of tests more self-contained and simpler. Finally, it might be a first step forward the transition to a non-recursive build system for automake (if we ever decide to go down that road fully some day). * lib/Automake/tests: All the '*.pl' tests in here moved ... * tests/pm: ... into this new directory. * lib/Automake/tests/Makefile.am: Remove, its meaningful contents moved ... * tests/Makefile.am: ... here, with obvious adjustments. (test_subdirs): New variable, for the sake of the recipe of 'maintainer-check-list-of-tests'. * CheckListOfTests (maintainer-check-list-of-tests): Enhance its recipe to make it able to deal with test script residing in subdirectories. * Makefile.am (maintainer-check-list-of-tests): Simplified. (TEST_SUBDIRS): Remove, no more needed. * tests/list-of-tests.mk (perl_TESTS): New variable, lists the '.pl' tests just moved into 'tests/pm'. (handwritten_TESTS): Add the contents of '$(perl_TESTS)'. * lib/Automake/Makefile.am (SUBDIRS): Remove. * configure.ac (AC_CONFIG_FILES): Update. * .gitignore: Adjust.
2a9862a8 2012-01-18 09:45:01 gitlog-to-changelog: update from upstream * lib/gitlog-to-changelog: Update from gnulib upstream. The only changes should be cosmetic and/or minor fixlets.
a6e60819 2012-01-17 23:31:19 changelog: don't cluster multiple entries under the same "date line" * lib/gitlog-to-changelog: Synced from gnulib. The new version has a new option '--no-cluster', that disables clustering of adjacent commit messages under the same "date line". * Makefile.am (gitlog_to_changelog_options): Add '--no-cluster'. Also add a proper '--format' specification to ensure we have a blank line between the summary line and the commit message body.
443114bf 2012-01-17 15:48:56 fixup: contrib: really integrate in automake build system * configure.ac (AC_CONFIG_FILES): Add 'contrib/Makefile'. * Makefile.am (SUBDIRS): Add 'contrib'.
e29c4918 2012-01-17 13:55:00 contrib: new, a directory for non-mainstream functionalities This new 'contrib' hierarchy will be a good place were to move implementation/support for obsolescent features we are not yet ready to remove completely, or were to leave experimental or third-party features to cook before their eventual inclusion in the automake core. * contrib: New directory. * contrib/README: New file. * contrib/Makefile.am: New file. (EXTRA_DIST): Distribute README.
3d6197fe 2012-01-16 18:35:50 Merge branch 'check-html-deprecate' into maint * check-html-deprecate: recheck: fix interaction with "make -n" recheck: behave better with non-GNU make check: separate .log -> .html conversion from core testsuite harness docs: deprecate .log -> .html conversion by parallel-tests
8fec2399 2012-01-13 22:39:47 recheck: fix interaction with "make -n" * lib/am/check.am (recheck): Ensure the recipe does not erroneously remove '.log' files when running under "make -n". For the sake of NetBSD make, this also means that ... (.MAKE): ... this cannot depend on 'recheck' anymore. * tests/parallel-tests-dryrun.test: New test. * tests/list-of-tests.mk: Add it.
12dc0ec5 2012-01-16 16:42:25 vala: avoid potential useless remakes (minor bugfix) * automake.in (lang_vala_finish_target): Ensure the timestamp file from which the C files generated from Vala sources depend on gets created with a modification time that is truly older than those of said generated C files. This prevents make from attempting useless rebuilds (which were bound to happen deterministically on systems with sub-second timestamp resolutions). It is worth noting that, luckily, those useless rebuild ended up being a no-op, since the Vala compiler is careful not to update the timestamp of an output file if its content has not changed from the previous version. Still, the useless rebuilds messed up "make -q" and "make -n" invocations, and were technically incorrect (despite being, as noted, inoffensive in practice). Problem revealed by failure of tests vala-mix.test and vala5.test on a fast Solaris 10 system whose filesystem had a sub-second timestamp resolution.
3da9c4c7 2012-01-16 15:38:56 vala: enhance tests * tests/vala.test: Extend test. Throw in some cosmetic and consistency changes since we are at it. * tests/vala5.test: Avoid uselessly requiring libtool. Ensure a failure happens in case VALAFLAGS are not supported as expected. Extend test in some ways. Throw in some cosmetic and consistency changes since we are at it. * tests/vala-mix.test: New test. * tests/list-of-tests.mk: Add it.
d9a7182e 2012-01-13 18:53:43 recheck: behave better with non-GNU make * automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with the value of the '@check' array, containing the list of early test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)', etc. * lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'. (check, recheck): Unify the implementation of their recipes, with different code paths taken depending on the name of the target. This makes the implementation of "recheck" less brittle in the process (especially when non-GNU make and AM_MAKEFLAGS overriding are involved). * lib/am/check-html.am (check-html, recheck-html): Likewise. * tests/check.test: Adjust to avoid spurious failure. * tests/parallel-tests2.test: Improve coverage.
20f2ac90 2012-01-13 17:56:13 check: separate .log -> .html conversion from core testsuite harness That feature is to be deprecated in the 1.11.x series, and removed from the automake core in the 1.12 release, where it will instead be offered in a semi-independent extra '*.am' fragment. So let's start better separating the .log -> .html conversion from the "core code" of the parallel-tests harness. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> * lib/am/check.am (.log.html, check-html, recheck-html): Move these targets ... * automake.in (handle_tests): ... and the initialization of the TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML) file ... * lib/am/check-html.am: ... in this new file, with related (minor) refactorings, enhancements and simplifications. * lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust. * lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'. * tests/parallel-tests2.test: Improve coverage.
20d99e05 2012-01-08 19:26:18 docs: deprecate .log -> .html conversion by parallel-tests That feature is to be deprecated in the 1.11.x series, and removed in the 1.12 release. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> * doc/automake.texi (Simple Tests using parallel-tests): Deprecate the '.log' -> '.html' conversion and the targets 'check-html' and 'recheck-html'. Related rewording and reformatting. * NEWS (Future backward-incompatibilities): Update.
068b2f53 2012-01-16 10:18:06 tests: list some forgotten test cases in $(TESTS) This way, they will be properly executed by "make check", and properly distributed. Our previous commit 'v1.11-647-g27f1a1c' is already paying its dividends! * tests/list-of-tests.mk (handwritten_TESTS): Add check12.test, dist-missing-included-m4.test, dist-missing-am.test, and dist-missing-m4.test.
27f1a1c9 2012-01-16 10:05:59 maintcheck: consistency of list of test scripts This is basically a backport of commit 'v1.11-358-g7b6ab07' and its follow-ups. The possibility of easily checking that the list of test scripts listed in a Makefile equals that of the tests on the filesystem has proved itself so useful that it's worth taking the annoyance of backporting it to maint. * CheckListOfTests.am: New file, backported from master (commit 'v1.11-1736-g083a75b') with minor adjustments. (maintainer-check-list-of-tests): New target, check for consistency between the list of tests defined in the including Makefile and the list of tests on the filesystem. (clean-maintcheck-testslist-tmp): New rule, to clean up temporary files that might be left around by the rules associated with the previous target. (clean-local): Depend on it. * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'. * tests/Makefile.am: Likewise. * Makefile.am (maintainer-check-list-of-test): New target, calling recursively into `tests/' and `lib/Automake/tests/', using ... (TEST_SUBDIRS): ... this new variable. (maintainer-check): Added dependency from the new target `maintainer-check-list-of-tests'.
48c9d57f 2012-01-15 23:45:31 build: explicitly declare some targets as .PHONY * Makefile.am (fetch, git-dist, git-release, maintainer-check): Declare as ".PHONY".
3b594a8c 2012-01-15 23:38:58 maint: remove obsolete/broken maintainer targets * Makefile.am (git-diff): Remove. First, we don't distribute diffs between an automake version and the next one anyway, so this target is pointless. Moreover, its recipe has been broken for quite a long time now, always generating an empty diff due to the spurious '$(PACKAGE)' argument that was passed to the "git diff" invocation. (path-check): Remove. The 'pathchk' program running in this check complains about any file with name longer than 14 characters, which is a ridiculously low limit for today standards. Also, we already had several test scripts (no less than 195!) that were exceeding that limit, and nobody ever complained (not even on MinGW/MSYS nor Cygwin).
8856653e 2012-01-15 23:08:21 build: improve silencing of automake build system In this change, we continue the silencing of the automake build system that has been started in commit v1.11-642-g17542c3, but which has been left incomplete there for an (absent-mindness) mistake. * Makefile.am (INSTALL): Silence the recipe. (automake, aclocal): Likewise, and improve them a little since we are at it. * lib/Automake/Makefile.am (Config.pm): Likewise.
9d9f00ed 2012-01-15 21:07:44 tests: move list of tests in its own Makefile fragment This change will make it easier to merge maint into master, which has a similar Makefile setup in the testsuite. * tests/Makefile.am (include): Inclusion of ... * tests/list-of-tests.mk: ... this new file. * tests/Makefile.am (TESTS): Move most of its content into, and redefine in function of, ... * tests/list-of-tests.mk (handwritten_TESTS): ... this new variable. * tests/gen-parallel-tests: Update.
17542c3c 2012-01-15 20:46:43 build: silence automake build system * configure.ac (AM_SILENT_RULES): Invoke with "yes" as a parameter, to activate silent rules by default. * NEWS: Update. * Makefile.am (sc_perl_syntax): Silence its recipe unconditionally, similarly to what is done for other syntax checks. (release-stats): Be silent by default *but not unconditionally*, thanks to the use of $(AM_V_GEN). (path-check, git-diff): Be silent by default, thanks to the use of $(AM_V_GEN). * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise. * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise. * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise. ($(parallel_tests)): Likewise.
05c02989 2012-01-15 17:14:04 gnupload: moved to gnulib Since the gnupload script is not required by automake-generated code (be it configure or Makefile content), and is not specifically tied to automake in any way, it is better to have its master copy installed in the gnulib repository, as is already done for similar generally-useful, maintainer-oriented scripts. We can them sync it from there. See also gnulib commit v0.0-6822-gf8b7120, and: <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html> * Makefile.am (FETCHFILES): Added 'gnupload'. (fetch): Also sync 'gnupload' from the gnulib repository. * lib/gnupload: Synced from gnulib. * NEWS: Update.
def0340b 2012-01-15 17:10:21 sync: gitlog-to-changelog from gnulib upstream * lib/gitlog-to-changelog: Synced from upstream, by "make fetch".
59367c05 2012-01-14 10:32:13 test defs: backport optimized 'using_gmake' implementation * tests/defs.in (using_gmake): Backport optimized, result-caching implementation from master.
0188e0f5 2012-01-13 21:56:54 tests: unify some tests on "make -n", reducing duplication * tests/maken2.test: Merge into ... * tests/maken.test: ... this test, to avoid unnecessary code duplication. Make checks depending on GNU make conditional to the actual presence of GNU make. * tests/maken4.test: Similarly, merge into ... * tests/maken3.test: ... this test. * tests/Makefile.am (TESTS): Remove maken2.test and maken4.test.
4013982e 2012-01-14 09:57:55 vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)" * automake.in (lang_vala_finish_target): In the generated rules, use '$(am__cd)', not bare 'cd', to chdir into $(scdir). Issue revealed by the maintainer check 'sc_cd_relative_dir'.
539cae3b 2012-01-13 12:42:36 Merge branch 'fix-pr10470' into maint * fix-pr10470: dist: avoid $(distdir) removal failure on MSYS/MinGW coverage: expose automake bug#10470 (distcheck-related)
dfb5e52f 2012-01-11 18:09:07 dist: avoid $(distdir) removal failure on MSYS/MinGW This change fixes automake bug#10470. On MSYS (1.0.17) it is not possible to remove a directory that is in use, and this, together with timing issues, could cause spurious failures in the cleanup code of the "distcheck" recipe. In fact, it should be noted that assuming a directory can be removed while it the CWD of a running process is a POSIX violation: "If the directory is the root directory or the current working directory of any process, it is unspecified whether the function succeeds, or whether it shall fail and set errno to [EBUSY]." * lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some seconds and retry, to give potential "pending" processes some time to exit and "release" the directory. * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'. Report and suggestions by Peter Rosin and Eric Blake.
f1df5481 2012-01-01 19:06:00 tests: fix spurious failure of 'get-sysconf.test' * tests/get-sysconf.test: Do not assume that a ChangeLog file exists in $(srcdir): now that the ChangeLog is autogenerated and not under version control anymore, this is not necessary true. Instead, if we are running from a git checkout, use "git log" to get information on the version of the automake snapshot being tested (and fall back on extracting the first ChangeLog entry otherwise). Reported by Jim Meyering in automake bug#10418. Cherry picked from commit v1.11-1675-g104f302.
657eed2e 2012-01-12 10:06:14 coverage: expose automake bug#10470 (distcheck-related) * tests/distcheck-pr10470.test: New test. * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it. Report and suggestions by Peter Rosin and Eric Blake.
e064ff79 2012-01-12 09:41:06 tests: make 'aclocal-install-absdir.test' executable * tests/aclocal-install-absdir.test: Make it executable.
6bb56e40 2012-01-12 09:36:05 tests: add missing dependency for some 'ar-lib*.test' tests This change fixes spurious failures of the tests ar-lib4.test, ar-lib6a.test and ar-lib6b.test. * tests/Makefile.am (ar-lib4.log): Depend explicitly on the `libtool-macros.log' file. (ar-lib6a.log, ar-lib6b.log): Likewise.
d850165e 2012-01-08 12:49:57 tests: require GNU make in 'vala-vapth.test' * vala-vpath.test ($required): Add the "GNUmake" requirement, since rules generated by vala support are expected to work with GNU make only.
72f7e5de 2012-01-07 01:08:11 vala: fix VPATH builds This change fixes automake bug#9859. * automake.in (lang_vala_finish_target): Create the stamp file '${derived}_vala.stamp' in $(srcdir), not in $(builddir). Also, don't try to chdir to the $(srcdir) to trigger the rebuild rules, since that is just wrong in a VPATH setup. * tests/vala-vpath.test, tests/vala2.test: Extend to catch more possible VPATH issues. * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-vpath.test'. * NEWS, THANKS: Update. Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Copyright-paperwork-exempt: yes
c7ee8c6d 2012-01-07 01:06:37 tests: fix some bugs in the vala-vpath test * tests/vala-vpath.test: There are (trivial) problems in this testcase that would cause the build to fail even if the core issue were resolved. Fix those. Copyright-paperwork-exempt: yes
01c3294b 2012-01-03 16:12:46 dist: do not wrap calls to 'tar' with the 'missing' script The `missing' script is meant to allow non-developers to build a package in the face of slightly-skewed timestamps (as might happen e.g. when the package is obtained from a VCS checkout rather than from a distribution tarball). It is *not* the business of the `missing' script to try to provide wrappers for all the maintainer tools (in this case, to tool being a decent tar program). Such wrapping of `tar' was not only inappropriate, but it was also preventing the legitimate overriding (at make runtime) of the `tar' program used in the creation of the distribution tarballs. See also automake bug#9822. * lib/missing: Don't try to specially wrap `tar' invocations anymore. * m4/tar.m4 (_AM_PROG_TAR): In the definitions of the `AMTAR' variable, do not wrap the `tar' invocation with the `missing' script anymore. Instead, allow the user to override the intended tar program at make runtime, by defining the `TAR' environment variable. [$1 == v7]: Similarly for the definitions of the `am__tar' and `am__untar' variables. Since we are at it, don't make them depend anymore on the definition of the obsolescent `AMTAR' variable. * NEWS: Update. * tests/missing-tar.test: Remove, it's obsolete. * tests/tar-override.test: New test. * tests/Makefile.am (TESTS): Update. Reported by Akim Demaille.
741a0a1e 2012-01-06 14:51:55 fixup: previous commit v1.11-627-g1e0aedc * tests/acloca18.test: Do not remove an aclocal.m4 file that is needed by a later autoconf invocation.
92f688d8 2012-01-06 13:15:17 tests: fix spurious failures due to autom4te caching * tests/aclocal9.test: Call aclocal and autoconf with the `--force' option. * tests/acloca10.test: Sleep between re-runs of aclocal and autoconf. * tests/acloca18.test: Explicitly remove also the configure script and the aclocal.m4 before re-invoking aclocal and autoconf.
e3b0e124 2012-01-05 15:13:30 parallel-tests: avoid issue with overly long lines in sed input See automake bug#10437: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437> and coreutils bug#10427: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8> * lib/am/check.am (recheck, recheck-html): In order to strip trailing whitespace from the definition of the `$list' variable, we used to invoke sed in a way that could cause it to get passed overly long input lines, causing spurious failures. So rework the logic of the recipe to avoid any sed invocation, relying on simpler shell idioms instead. (check-TESTS): Reorganize the recipe to be more similar to the one of `recheck', for consistency and simplicity. * NEWS: Update. Report and analysis by Paul Eggert.
a6ccc2ae 2012-01-04 10:21:57 sync: auxiliary files from upstream synced * lib/texinfo.tex: Synced from upstream, by "make fetch". * lib/gitlog-to-changelog: Likewise. * lib/config.guess: Likewise. * lib/config.sub: Likewise.
b40372f9 2012-01-04 10:18:15 sync: fix syncing of 'gitlog-to-changelog' script * Makefile.am (FETCHFILES): Also list 'gitlog-to-changelog'.
e23a89ed 2012-01-04 10:09:25 maintcheck: avoid false positive in sc_tests_plain_make * Makefile.am (sc_tests_plain_make): Ensure to only match full `make' words. Avoid false positive in `silent-nested-vars.test'.