Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| cfe0abc7 | 2013-04-22 18:02:07 | dry-run: don't get confused by '-I' option Fixes automake bug#13760 for non-GNU make implementations that still support the option '-I'. So far, the only such make implementation are FreeBSD (8.x) make and NetBSD (5.x) make. * lib/am/header-vars.am (am__make_dryrun): If a non-GNU make is being used, try to handle the '-I' option in $MAKEFLAGS correctly. For GNU make, that is already done by the proper use of the $MFLAGS variable. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 334a2e0b | 2013-04-22 15:07:43 | dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS) Fixes automake bug#13760 for GNU make. * lib/am/header-vars.am (am__make_dryrun): If GNU make is being used, rely on the contents of the $(MFLAGS) variable rather than of the $(MAKEFLAGS) to decide whther make is being executed in "dry run" mode. Not only this makes the code possibly faster and less brittle, but also fixes automake bug#13760 (at least when GNU make is in use). * t/make-dryrun.tap: Adjust: some tests that were xfailing now pass. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3de27839 | 2013-04-22 14:53:14 | header vars: can determine whether we are running under GNU make This is mostly a preparatory patch in view of future changes. * lib/am/header-vars.am (am__is_gnu_make): New, contains shell code that determines whether we are running under GNU make. * t/make-is-gnu.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8c333ed9 | 2013-04-20 18:10:28 | sync: update files from upstream with "make fetch" * lib/INSTALL: Update. * lib/config.guess: Likewise. * lib/config.sub: Likewise. * lib/gendocs.sh: Likewise. * lib/gendocs_template: Likewise. * lib/gitlog-to-changelog: Likewise. * lib/gnupload: Likewise. * lib/texinfo.tex: Likewise. * lib/update-copyright: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 98a0b71f | 2013-02-21 19:25:55 | fixup: one stray reference to older versioning scheme * lib/Automake/Options.pm: Here, in a FIXME comment: reference "Automake 3.0" rather than "Automake 1.15". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 97aaf121 | 2013-02-17 10:25:29 | maint: describe new versioning and branching scheme, and adjust to it See discussion about automake bug#13578 for more details and background. Basically, for the versioning scheme: - micro versions only for bug and regression fixing; - minor versions for new backward-compatible features, and new non-fatal deprecations; - major versions for backward-incompatibilities, complex new features, and major refactoring. And for the git branching scheme: + branch 'next' is for the upcoming major version; + branch 'master' is now for the upcoming minor version; + branch 'maint' is for the upcoming micro (bug-fixing) version; + the merging hierarchy is: 'maint' -> 'master' -> 'next'. * HACKING (Automake versioning and compatibility scheme): New. (Working with git): Adjust. * NEWS: Update and fix. * aclocal.in: Adjust some "FIXME" messages. * automake.in: Likewise. * m4/mkdirp.m4: Likewise. * t/aclocal-acdir.sh: Likewise. * t/aclocal-macrodir.tap: Likewise. * t/aclocal-macrodirs.tap: Likewise. * lib/Automake/Options.pm: Likewise. * m4/internal/ac-config-macro-dirs.m4: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7df8b28c | 2012-12-31 18:18:37 | maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ac5c1d77 | 2012-08-11 19:36:08 | cleanup: drop a redundant %?FIRST% transform * lib/am/texinfos.am: Here: this file is only included one time per Makefile by Automake. Cherry picked from Automake-NG commit 'v1.12.2-864-g5c580b0'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b6602b33 | 2012-12-31 09:53:43 | maint: state when compatibility cruft should be removed or warned about * automake.in: Here. * lib/Automake/Options.pm: And here. * m4/obsolete-err.m4: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2e269cff | 2012-12-29 15:28:41 | sync: update files from upstream with "make fetch" * lib/config.sub: Update. * lib/config.guess: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 27eb4254 | 2012-12-19 14:51:58 | ylwrap: various fixes Rename properly header guards in generated header files, instead of leaving Y_TAB_H. Convert header guards in implementation files. Because ylwrap failed to rename properly #include in the implementation files, current versions of Bison (e.g., 2.7) duplicate the generated header file in the implementation file. The header guard then protects the implementation file from duplicate definitions from the header file. Generate header guards with a single '_' for series of non alphabetic characters, instead of several. This is what Bison does. Makes the test t/yacc-d-basic.sh pass again. * lib/ylwrap (guard): Properly honor $1 to rename properly the header guards. Keep a single _ instead of several. (rename_sed): Rename as... (sed_fix_filenames): this. Suggested by Stefano Lattarini. (sed_fix_header_guards): New. Use it. | ||
| b8c7e3f7 | 2012-12-14 15:43:27 | Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" gitignore: align with recent changes fixup: add dummy rule for ChangeLog generation in Makefile.am maint: no longer use AM_MAKEFLAGS in maintainer rules maint: use more GNU make features in maintainer rules maint: move maintainer make rules in maint.mk | ||
| 454a1acd | 2012-12-14 15:10:00 | sync: update files from upstream with "make fetch" * lib/gnupload: Update. See: <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00050.html> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d7a59576 | 2012-12-09 21:55:32 | Merge branch 'maint' * maint: docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc maintcheck: prefer '$(am__cd)' over plain 'cd' fetch: improve, and reduce code duplication docs: add rule to generate manuals for www.gnu.org docs: copy the 'gendocs.sh' script from Texinfo CVS repository sync: update files from upstream with "make fetch" release: generate a stub for the release announcement release: distinguish major and minor releases tests: avoid two spurious failures on FreeBSD | ||
| 6e8997d8 | 2012-12-08 19:49:33 | docs: copy the 'gendocs.sh' script from Texinfo CVS repository As well as the 'gendocs_template' file. And enhance the "make fetch" target to keep them synced. It's better than having to fetch these files by hand each time a release is to be made. * Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'. (fetch): Fetch them, into 'lib/'. (EXRA_DIST): Distribute them. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c271b9c1 | 2012-12-08 19:33:23 | sync: update files from upstream with "make fetch" * lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0ff68f95 | 2012-10-18 21:07:56 | depcomp: remove 'icc' depmode, add 'tcc' one According to the comments in the now-removed test 'depcomp5.test' (removed by commit 'v1.11-1829-g5066c1b' of 2012-02-08, "tests: improve and rework tests on dependency tracking") "icc 8.0 and greater understand gcc options, so depmode is set to gcc". According to Wikipedia, the 8.0 version of the Intel C compiler has been released in December 2003, that is, almost nine yeas ago. So we can remove explicit support for icc 7.x from the depcomp script. Since our support for tcc has so far been relied on the icc depmode, we must write a new explicit 'tcc' depmode. That is easy to do, since we can rely on the simpler and better-specified format of tcc-specified makefiles; for more info, see: <http://lists.gnu.org/archive/html/automake/2012-10/msg00043.html> * lib/depcomp (icc): Remove. (tcc): New. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3a00a3c5 | 2012-10-18 17:42:21 | depcomp: improve comments about tcc support * lib/depcomp (icc): Here. See also tcc commit 0394caf7 "Emit spaces for -MD" and automake commit v1.11-768-gb96263 "depcomp: support tcc (Tiny C Compiler)". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4f855e0d | 2012-10-18 17:14:15 | depcomp: remove last relics of libtool 1.4 support * lib/depcomp (tru64): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 24d0dcbe | 2012-10-18 16:55:44 | depcomp: remove an unused variable * lib/depcomp ($alnum): This. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4d27453c | 2012-10-18 16:55:25 | depcomp: rewrite a sed invocation for less quoting * lib/depcomp (dashmstdout): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| afd3bc19 | 2012-10-18 16:49:23 | depcomp: whitespace fixes * lib/depcomp: We indent by two spaces, and without using tabs. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2b09f200 | 2012-10-18 16:47:41 | depcomp: shell code style changes * lib/depcomp: Here, in comments and line continuations. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3ad09d87 | 2012-10-18 16:29:21 | depcomp: make some code more self-documenting * lib/depcomp (make_dummy_makefile): With the help of this function. Use it throughout. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1518257a | 2012-10-18 14:45:38 | depcomp: less duplication between AIX and Tru64 modes * lib/depcomp (tru64, aix): In these entries of the big 'case' switch, with the help of ... (aix_post_process_depfile): ... this new function. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 83cc9fd0 | 2012-10-18 14:45:21 | depcomp: avoid an extra fork when possible * lib/depcomp (set_dir_from): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5d3b980b | 2012-10-18 13:59:52 | depcomp: reduce code duplication * lib/depcomp: Here, when we have to get the directory and basename components of objects or source files; do so with the help of ... (set_dir_from, set_base_from): ... these new shell functions. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b53a3b01 | 2012-10-18 13:46:48 | depcomp: don't rely on character ranges working as in C locale * lib/depcomp (pgcc): Here. Related reorganization, with the unconditional definition of ... ($upper, $lower, $digits, $alnum, $alpha): ... these shell variables. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 35ef2ffe | 2012-10-18 13:36:20 | depcomp: cosmetic fixlets to a comment * lib/depcomp (pgcc): Here, as that's unportable according to the autoconf manual. In fact, there's no need to re-trap the signals just before exiting, since at that point a signal would cause at most a useless but harmless attempt to remove the Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0c1a9210 | 2012-10-18 13:28:54 | depcomp: safer quoting in variable expansion * lib/depcomp (pgcc): Here. Probably not needed, but since the rest of the script seems to employ proper quoting, better to be consistent. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5d84b891 | 2012-10-18 13:27:19 | depcomp: correctly propagate exit status in exit trap * lib/depcomp (pgcc): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1d51ce40 | 2012-10-18 13:24:21 | depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory * lib/depcomp (pgcc): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8469853a | 2012-10-18 13:22:56 | depcomp: remove useless quoting in variable definitions * lib/depcomp (pgcc): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 88372387 | 2012-10-18 12:47:17 | depcomp: be more idiomatic in checking for zero exit statuses * lib/depcomp: Prefer "if test $stat -ne 0; then ..." over the longer "if test $stat -eq 0; then :; else ...". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cb6a19d9 | 2012-11-21 14:13:02 | Merge branch 'maint' * maint: tests: fix a spurious failure when $PYTHON is in the environment python tests: support PEP-3147 installation layout python: uninstall cater to PEP-3147 tests: improve a comment tests: honour $PYTHON override tests: typofix in message news: document fix for bug#8847 (PEP-3147, __pycache__) python: improve support for modern python (CPython 3.2 and PyPy) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8d1a5422 | 2012-11-21 10:28:41 | Merge branch 'python-pep-3147' into maint * python-pep-3147: tests: fix a spurious failure when $PYTHON is in the environment python tests: support PEP-3147 installation layout python: uninstall cater to PEP-3147 tests: improve a comment tests: honour $PYTHON override tests: typofix in message news: document fix for bug#8847 (PEP-3147, __pycache__) python: improve support for modern python (CPython 3.2 and PyPy) | ||
| 3fea7647 | 2012-11-19 20:16:47 | python: uninstall cater to PEP-3147 After recent commit commit v1.12.4-43-ge0e99ed, "python: improve support for modern python (CPython 3.2 and PyPy)", the python install rules have been made smart enough to install "*.pyc" byte-compiled files according to PEP-3147 with modern (post-3.2) pythons. However, the uninstall rules hadn't been updated accordingly, causing leftover files to remain around after "make uninstall", as well as failures in "make distcheck". * lib/am/python.am (am__pep3147_tweak): New internal macro, used in ... (uninstall-%DIR%PYTHON): ... the recipe of this target, which has been adjusted to cater to PEP-3147 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1efb88ca | 2012-11-16 14:50:02 | Merge branch 'maint' * maint: maintcheck: avoid failures, sync with 'ng/master' more maintcheck: remove 'sc_perl_syntax' sync: update files from upstream with "make fetch" maint: get rid of $perllibdir environment variable hack configure: respect the '-q' option better cosmetics: de-tabify configure.ac Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| eff0e073 | 2012-11-16 13:03:14 | sync: update files from upstream with "make fetch" * lib/texinfo.tex, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e0e99eda | 2012-11-05 11:45:15 | python: improve support for modern python (CPython 3.2 and PyPy) This fixes automake bug#8847. * m4/python.m4 (AM_PATH_PYTHON): Add python3.3 to _AM_PYTHON_INTERPRETER_LIST. * lib/py-compile: Fix compiled filenames for PEP-3147, currently implemented in CPython 3.2 and newer. Do not create '.pyo' files for PyPy. Copyright-paperwork-exempt: yes Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 26b78559 | 2012-10-27 11:57:43 | Merge branch 'maint' * maint: depcomp: avoid potential interferences from the environment depcomp: improve comments about the 'gcc' depmode sync: update files from upstream with "make fetch" maintcheck: remove an obsolescent check tests: rename some tests to more expressive names, again tests: remove an obsolescent grepping check tests: merge two tests on automatic remake functionality tests: rename some test to more expressive names news: 'compile' supports libfoo.a naming when wrapping Microsoft tools tests: ensure generation of wrapper tests matching multiple conditions tests: simplify a loop in gen-testsuite-part compile: support libfoo.a naming when wrapping Microsoft tools NEWS: fix wording and grammaros, re-wrap text accordingly cosmetics: fix typo in 'lib/depcomp' comments Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d8f47b19 | 2012-10-27 11:19:22 | depcomp: avoid potential interferences from the environment * lib/depcomp (gccflag, dashmflag): By explicitly initializing these variables to the empty string by default. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 078ff407 | 2012-10-27 11:12:59 | depcomp: improve comments about the 'gcc' depmode It is not only needed by obsolescent gcc compilers (pre-3.x), but also by modern compiler like IBM C/C++. State that ... * lib/depcomp: ... here... * gen-testsuite-part: ... and here, where we generate the 'depcomp*.tap' tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 24bf687e | 2012-10-26 15:05:53 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3c5c9394 | 2012-10-04 00:08:26 | compile: support libfoo.a naming when wrapping Microsoft tools There is a future plan to provide some means to have Automake create static libraries that are named differently depending on the system [1]. The background is that everyone has always named static libraries libfoo.a, except the Redmond crowd who names them foo.lib, and you have to jump through hoops to have Automake create libraries named foo.lib in the land of non-GNU Windows while still creating libfoo.a everywhere else. However, there is probably no sane way to accomplish that system dependent naming discussed in [1] without user intervention, which makes it necessary to support the classic libfoo.a naming when using Microsoft tools in the best possible way, for the benefit of all projects today and for future projects not opting in to whatever scheme is selected for the problem at hand. [1] http://lists.gnu.org/archive/html/automake/2012-09/msg00028.html * lib/compile (func_cl_dashl): As a last resort, match -lfoo with libfoo.a, if that file exist on the library search path. * t/compile4.sh: Remove obsolescent workaround for the above. * t/compile6.sh: Extend to check that libbaz.a is indeed found when baz.lib and baz.dll.lib does not exist and that bar.lib and bar.dll.lib are preferred over libbar.a. Signed-off-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6a0460c4 | 2012-10-14 11:43:26 | cosmetics: fix typo in 'lib/depcomp' comments Fixes automake bug#12578. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7411adcd | 2012-10-02 20:34:47 | Merge branch 'maint' * maint: config headers: remove stale comment in makefile fragment NEWS: wording and quoting fixlets in few older entries config headers: don't emit rules for headers not generated by autoheader docs: fix minor typo: s/expending/expanding/ sync: update files from upstream with "make fetch" maint: post-release minor version bump maint: typo fixes s/lies into/lies in/ release: stable release 1.12.4 NEWS: minor fix Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b8651afd | 2012-10-02 16:45:37 | config headers: remove stale comment in makefile fragment * lib/am/remake-hdr.am: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 25ffe7d5 | 2012-09-28 21:27:41 | config headers: don't emit rules for headers not generated by autoheader 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> | ||
| 9f2442d7 | 2012-09-18 13:57:51 | sync: update files from upstream with "make fetch" * lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 076e8fa2 | 2012-09-05 14:40:52 | Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" news: cygnus will be removed in automake 1.13 news: some changes for 1.13 has been "de-planned" news: report that the have seen fixlets after 1.12.3 warns: enable category 'obsolete' by default Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| db543731 | 2012-09-05 14:33:31 | sync: update files from upstream with "make fetch" * lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cf41f5af | 2012-09-04 14:50:49 | warns: enable category 'obsolete' by default No surprise that our users were bitten by backward-incompatible changes especially hard: the warnings in the 'obsolete' category, that might have informed them of the upcoming incompatibilities, and help them to prepare for the transition, where not enabled by default! * NEWS, doc/automake.texi: Update. * lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete' by default. * t/warnings-obsolete-default.sh: New test. * t/list-of-tests.mk: Add it. * t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as autoconf input file, to avoid spurious aclocal errors. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust heading comments. * t/backcompat6.sh: Likewise. * t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cb60ae36 | 2012-08-28 10:00:45 | Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" automake: don't define many identical 'lang_*_rewrite' subroutines coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap) | ||
| d343f7af | 2012-08-28 09:59:22 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 97998210 | 2012-08-26 12:55:38 | Merge branch 'maint' * maint: docs: don't suggest to use recursive makefile setup tests: fix a timestamp race in python tests tests: fixup: make distcheck-override-infodir pass again sync: update files from upstream with "make fetch" maint: post-release minor version bump release: stable release 1.12.3 maintcheck: fix spurious warnings docs: fix typo: s/make install-info/make uninstall-info/ tests: fixup: make a couple of tests executable Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0166876d | 2012-08-14 13:17:57 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c6cc3802 | 2012-08-13 14:05:40 | Merge branch 'maint' * maint: tests: rework tests on AM_PATH_PYTHON cosmetics: fix typos and references in comments typofix: in a test diagnostic readme: fixlets to HACKING Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cbc0fc85 | 2012-08-13 12:10:46 | cosmetics: fix typos and references in comments * lib/am/check.am: Here. * doc/automake.texi: And here. * t/*.sh: And in several of these tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ae1f40f5 | 2012-08-10 16:51:55 | Merge branch 'maint' * maint: automake: remove an unused local variable distcheck: more resilient against possible failures cleanup: remove almost-unused global var 'am_relative_dir' | ||
| c1dd6cce | 2012-08-10 16:11:04 | distcheck: more resilient against possible failures * lib/am/distdir.am (distcheck): Ensure that a failure in the commands making the just-extracted source tree read-only cause the recipe to fail. While at it, save a fork by creating the '_build' and '_inst' subdir with a single mkdir invocation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3e472de1 | 2012-08-05 11:06:16 | Merge branch 'elisp-work' * elisp-work: news: document all the recent elisp-related changes and improvements coverage: byte-compiling elisp files in different subdirectories elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation elisp: --batch implies -q, remove -q elisp: support elisp files in subdirectories properly elisp: simplify suffix rules using emacs '-L' option elisp: no need to "absolutize" $(srcdir) and $(builddir) ... elisp: prefer $(builddir) files over $(srcdir) ones elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite) coverage: elisp path contains $(srcdir) and $(builddir) coverage: emacs lisp files in subdirectories | ||
| 12f0caf6 | 2012-08-04 23:45:39 | Merge branch 'maint' * maint: tests: fix a spurious XPASS on OpenIndiana tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana tests: reimplement wrappers for automake and aclocal in perl tests: work around a ksh bug w.r.t. ${1+"$@"} depcomp: style changes to Portland Group Compilers support depcomp: initial support for Portland Group Compilers | ||
| 56cd2dda | 2012-08-04 14:56:27 | elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation * lib/am/lisp.am (.el.elc): Add "$(AM_ELCFLAFS) $(ELCFLAGS)" to the emacs command line. * t/lisp-flags.sh: New test. * t/list-of-tests.mk: Add it. * doc/automake.texi (Emacs Lisp): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6d6c831d | 2012-08-02 11:41:28 | Merge branch 'depcomp-pgcc' into maint * depcomp-pgcc: depcomp: style changes to Portland Group Compilers support depcomp: initial support for Portland Group Compilers | ||
| e3e58b6c | 2012-07-24 19:58:45 | tags: refactor to reduce code duplication (2) No semantic change is intended. * lib/am/tags.am (am__define_uniq_tagged_files): New variable, factor out some code common to ... (ctags-am, tags-am, ID): ... the recipes of these targets. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3c774c5e | 2012-07-24 19:25:02 | tags: refactor to reduce code duplication (1) No semantic change is intended. * lib/am/tags.am (am__uniquify_input): New variable, factor out some code common to ... (ctags-am, tags-am, ID): ... the recipes of these targets. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f3af1eb0 | 2012-07-24 18:43:50 | Merge branches 'tags-simplify-recursion' and 'color-tests-always' * tags-simplify-recursion: tags: unify recursion for tags targets with that of "usual" targets * color-tests-always: tests: better name for a couple of tests check: support colorized testsuite output by default | ||
| 2d5571e7 | 2012-07-22 16:38:47 | check: support colorized testsuite output by default Fixes automake bug#11855. With this change, we make the 'color-tests' option enabled by default. That option remains still silently accepted as a no-op, for backward compatibility. The developer of a package is still free to disable testsuite coloring on a per-makefile basis (by adding "AM_COLOR_TESTS = no" to the Makefile.am) or on a whole-project basis (by AC_SUBST'ing AM_COLOR_TESTS to "no" in configure.ac). But now the user will be able to request the testsuite output to be colorized, if he really wants to: # With GNU make: make AM_COLOR_TESTS=yes check # With non-GNU make: make AM_COLOR_TESTS=yes AM_MAKEFLAGS=AM_COLOR_TESTS=yes check * NEWS: Update. * doc/automake.texi: Updated, and some related minor reformatting and rewording. * automake.in (handle_tests): No need to pass the transform '%COLOR%' when processing "check.am". * lib/am/parallel-tests.am: Remove use of the '%?COLOR%' transform; just act as if it were unconditionally TRUE. * t/color.sh: No need to specify 'color-tests' in 'AUTOMAKE_OPTIONS' nor in 'AM_INIT_AUTOMAKE'. * t/ax/testsuite-summary-checks.sh: Likewise. * t/ax/tap-summary-aux.sh: Likewise. * t/color2.sh: Likewise. Also, ensure that colorized testsuite output can be disabled by default by calling "AC_SUBST([AM_COLOR_TESTS], [no])". * t/tap-realtime.sh: Define 'AM_COLOR_TESTS' to "no" in Makefile.am, to avoid spurious colorization of the output due to the use of the 'expect' program. * t/color-tests-opt.sh: New test, check that the 'color-tests' option is still recognized as a no-op. * t/list-of-tests.mk: Add the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 158b46f2 | 2012-07-22 11:07:22 | tags: unify recursion for tags targets with that of "usual" targets This change has a side effect: now any failure of the 'tags', 'ctags', 'cscope' and 'cscopelist' targets in a subdirectory will cause the recursive command issued from the top directory to fail. We believe that this behavioural change is not only justified by the simplification this patch entails, but actually offers better semantics: ignoring failures by default is never a good idea, and with make, the user can anyway order the completion of commands in the face of possible failures with the '-k' option. * NEWS: Update. * automake.in (%required_targets): Add keys 'cscopelist-am', 'tags-am' and 'ctags-am'. (handle_tags): Greatly simplified, the major part of the handling of recursion for the 'tags', 'ctags' and 'cscopelist' now moved out to ... * lib/am/tags.am: ... this file, that has been adjusted and extended accordingly. * t/maken3.sh: Remove testing of the 'TAGS' target, that is now just an alias to 'tags'. Without this change, this test would spuriously fail. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1ee9c78b | 2012-07-16 10:31:27 | elisp: --batch implies -q, remove -q According to the emacs manual[1], --batch implies -q, so there's no need to pass -q when compiling elisp. * lib/am/lisp.am: Remove -q from $(EMACS) call. [1]: http://gnu.org/s/emacs/manual/html_node/emacs/Initial-Options.html Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 094b83a6 | 2012-07-16 11:16:15 | Merge branch 'maint' * maint: fixup: delete "# serial" line in m4/amversion.in news: update about recent ylwrap changes and fixes m4: get rid of "# serial" lines configure: ${#param} must be supported by the shell for the testsuite yacc tests: fix a spurious failure with parallel make ylwrap: use proper quoting inside a `...` substitution ylwrap: don't uselessly reset the exit status in case of failure ylwrap: fix C++ support for Bison ylwrap: refactor: move loop invariant ylwrap: refactoring: don't rely on the file order tests: upgrade and fix Bison test case tests: fix bison input file ylwrap: comment changes ylwrap: modernize idioms ylwrap: rename header inclusion in generated parsers ylwrap: simplify the list of renamings ylwrap: refactor: less duplication Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3645d0ff | 2012-07-14 23:14:45 | elisp: support elisp files in subdirectories properly For more reference, see: <http://lists.gnu.org/archive/html/automake/2009-10/msg00013.html> <http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/4772> * lib/am/lisp.am (.el.elc): If the file being byte-compiled is in a subdirectory, add that (both as a subdirectory of the builddir and the srcdir) to the emacs load path. While we are at it (and for consistency), drop quoting of $(srcdir) and $(builddir), since those variables are ensured (by configure-time checks) not to contain white space nor shell metacharacters. * t/list-of-tests.mk (XFAIL_TESTS): Add 't/lisp-subdir.sh' and 't/lisp-subdir2.sh', since they now passes. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6fc5c9ac | 2012-07-14 22:46:20 | elisp: simplify suffix rules using emacs '-L' option * lib/am/lisp.am (.el.elc): Use '-L dir' instead of calling '--eval' to explicitly append to the 'load-path' variable. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fec53184 | 2012-07-14 22:42:48 | elisp: no need to "absolutize" $(srcdir) and $(builddir) ... * lib/am/lisp.am (.el.elc): ... here: we don't chdir around anyway, nor move or copy around our source '.el' files. Update comments, and re-wrap them while we are at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7cd72e5d | 2012-07-14 22:33:40 | elisp: prefer $(builddir) files over $(srcdir) ones * lib/am/lisp.am (.el.elc): Here. This better respects VPATH spirit. Adjust and extends comments. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/lisp-loadpath.sh', which now passes. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 226be35f | 2012-07-14 21:52:43 | elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite) Motivated by automake bug#11806. Traditionally, automake byte-compiled emacs-lisp '.el' files by invoking 'elisp-comp' on all of them in a bulk; this involved complex timestamping and file-locking logic. It was also brittle in any slightly-unusual setup, because 'elisp-comp' operated by copying all of the elisp files to be compiled into a temporary sub-directory and compiling them in there, the copying the resulting byte-compile files back in the build directory. This patch removes all of that juggling and chicanery in favour of defining a much simpler '.el.elc' suffix rule. Not only this is simpler, but it also interacts better with "make -jN" calls, which are becoming more and more common and useful on today's increasingly multicore systems. * Makefile.am (dist_script_DATA): Remove 'elisp-comp'. * automake.in (@common_files): Likewise. (handle_emacs_lisp): Do not require 'elisp-comp'. * doc/automake.texi: Remove references to 'elisp-comp'. * lib/am/lisp.am: Define elisp compilation via a suffix rule; this basically amounts to a complete re-write of the lisp byte-compilation rules. * lib/elisp-comp: Remove. * t/add-missing.tap: Remove elisp-comp test. * t/dist-auxdir-many-subdirs.sh: Remove reference to elisp-comp. * t/primary-prefix-invalid-couples.tap: Likewise. * t/primary-prefix-valid-couples.sh: Likewise. * t/lisp4.sh: Remove reference to elc-stamp. * t/lisp5.sh: Likewise. * t/lisp6.sh: Likewise. * t/lisp3.sh: Likewise. Also remove the recompilation check that involves a (message) call. * t/lisp7.sh: Remove check for "Warnings can be ignored". Remove reference to elc-stamp. * t/lisp8.sh: Likewise. * t/lispdry.sh: Remove references to elc-stamp. Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| aad12dcc | 2012-07-14 11:07:34 | ylwrap: use proper quoting inside a `...` substitution * lib/ylwrap ($target): Here, when redefining this to a temporary file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ae387d32 | 2012-07-14 11:04:42 | ylwrap: don't uselessly reset the exit status in case of failure * lib/ylwrap: Here. In case of a failure in the wrapped yacc/lex invocation, '$ret' (holding the final exit status of ylwrap) was being uselessly reset to '1' in the later if/else. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fa104579 | 2012-07-14 16:57:02 | ylwrap: fix C++ support for Bison 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> | ||
| 4ce3d131 | 2012-07-14 10:09:15 | ylwrap: refactor: move loop invariant * lib/ylwrap (input_rx): Move its definition next to its sibling's, outside of the main loop. | ||
| cfda11fb | 2012-07-14 10:08:52 | ylwrap: refactoring: don't rely on the file order Forthcoming changes will make us iterate over the files in a different order. lib/ylwrap (first): Remove, replaced by... (parser): this. | ||
| 7e31ff5c | 2012-07-13 13:14:44 | ylwrap: comment changes * lib/ylwrap: Improve some comments. | ||
| 0a25f35b | 2012-07-13 14:33:38 | ylwrap: modernize idioms * lib/ylwrap: Prefer printf to echo when special characters may occur. Replace the historical ',' sed separator with '|'. | ||
| be2bb639 | 2012-07-13 14:32:22 | ylwrap: rename header inclusion in generated parsers Some types of Bison parsers, such as the GLR ones, generate a header file that they include. ylwrap, which renames the generated files, does not rename the included file. Fix this shortcoming, reported for instance here: <http://lists.gnu.org/archive/html/bug-bison/2012-06/msg00033.html>. Fixes t/yacc-bison-skeleton.sh, see Automake bug#7648 and PR automake/491. * lib/ylwrap (quote_for_sed): Accept arguments. Catch more special characters. (rename_sed): New. Improve the previous renaming sed commands using quote_for_sed. Suggested by Stefano Lattarini here: <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00095.html>. (main loop): Use rename_sed to rename the dependencies to other files. * t/yacc-d-basic.sh: Exercise this case, even if bison/yacc was not issuing such an include. * t/list-of-tests.mk (XFAIL_TESTS): Adjust. | ||
| 1a871ca0 | 2012-07-12 15:13:29 | ylwrap: simplify the list of renamings * lib/ylwrap (pairwise): Instead of being a straightforward copy from the command line arguments, and having to deal with y.tab vs. y_tab later, let pairwise store the real file names to process, y_tab conversion included when needed. (main loop): Use $to instead of $2, for symmetry with $from. | ||
| 4294cbb0 | 2012-07-12 14:52:44 | ylwrap: refactor: less duplication * lib/ylwrap (guard): New function. Move functions before actual code. | ||
| 4e922a42 | 2012-07-12 22:04:07 | depcomp: style changes to Portland Group Compilers support * lib/depcomp (pgcc): Quote 'like this', not `like this'. Other minor quoting improvements. Remove a commented-out command. In comments, use proper capitalization and punctuation. Make a more consistent use of whitespace. Make fatal error messages more nicely formatted, and send them to standard error rather than to standard output. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 32eed29a | 2012-07-12 21:25:46 | depcomp: initial support for Portland Group Compilers * lib/depcomp: Here. See automake bug#8880. Co-authored-by: Jeff A. Daily <jeff.daily@pnnl.gov> Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bdb984ba | 2012-07-09 19:33:03 | Merge branch 'maint' (with fix for CVE-2012-3386) This makes the fix for a locally-exploitable security vulnerability (CVE-2012-3386) available to the Automake master branch. * maint: sync: update files from upstream with "make fetch" news: improve wording in entry about CVE-2012-3386 maint: post-release minor version bump release: stable release 1.12.2 distcheck: never make part of $(distdir) world-writable compat: automake should substitute @mkdir_p@, for backward compatibility fixup: t/README: it's ./runtest, not ./t/ax/runtest Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1c8bf11b | 2012-07-09 18:26:56 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bab7065f | 2012-07-06 22:43:04 | distcheck: never make part of $(distdir) world-writable This fixes a locally-exploitable security vulnerability (CVE-2012-3386). In the 'distcheck' rule, we used to make the just-extracted (from the distribution tarball) $(distdir) directory and all its files and subdirectories read-only; then, in order to create the '_inst' and '_build' subdirectories in there (used by the rest of the recipe) we made the top-level $(distdir) *world-writable* for an instant (the time to create those two directories) before making it read-only again. Making that directory world-writable (albeit only briefly) introduced a locally exploitable race condition for those who run "make distcheck" with a non-restrictive umask (e.g., 022) in a directory that is accessible by others. A successful exploit would result in arbitrary code execution with the privileges of the user running "make distcheck" -- game over. Jim Meyering wrote a proof-of-concept script showing that such exploit is easily implemented. This issue is similar to the CVE-2009-4029 vulnerability: <http://lists.gnu.org/archive/html/automake/2009-12/msg00012.html> * lib/am/distdir.am (distcheck): Don't make $(distdir) world-writable, not even for an instant; make it user-writable instead, which is enough. Helped-By: Jim Meyering <jim@meyering.net> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 25510217 | 2012-07-09 10:33:49 | compat: automake should substitute @mkdir_p@, for backward compatibility That has been unwittingly broken by commit v1.12-19-g7a1eb9f of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". We thought it wasn't a big deal, but Jim Meyering reported that @mkdir_p@ is used in gettext's Makefile.in.in template: <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> * lib/am/header-vars.am (mkdir_p): Don't define. * m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST 'mkdir_p' with $(MKDIR_P). * t/mkdir_p.sh, t/mkdirp-deprecation.sh: Enhance. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cbd1a604 | 2012-07-07 11:54:28 | Merge branch 'maint' * maint: cosmetics: rename t/ax/test-runner => t/ax/runtest fixup: another "make recheck" failure with BSD make test runner: work correctly in VPATH setups compat: automake should define $(mkdir_p), for backward compatibility coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works tests init: don't automatically re-execute tests with a POSIX shell yacc tests: fix spurious failure with parallel make tests: ignore minor 'recheck' regression for BSD make tests: don't clutter the top-level dir with temporary test directories tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d" lisp: better support of VPATH builds news: fixlets and updates + Extra non-trivial edits: * NEWS: State that $(mkdir_p) is still provided as an alias to $(MKDIR_P), for (partial) backward-compatibility. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cca42634 | 2012-07-06 10:12:30 | compat: automake should define $(mkdir_p), for backward compatibility That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f' of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". Report from Benoit Sigoure and Diego Elio Pattenò: <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> * lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P). * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0451b0bc | 2012-07-05 18:50:37 | lisp: better support of VPATH builds Fixes automake bug#11806. * lib/am/lisp.am: Pass the value of '$(abs_srcdir)' to the elisp-compile script in the environment. * lib/elisp-comp: Add the vale of '$abs_srcdir' to the emacs load-path. * t/lisp-pr11806.sh: New test. * t/list-of-tests.mk: Add it. Copyright-paperwork-exempt: yes Co-authored-by: Stefano Lattarini <stefano.lattarini@gnu.org> Reported-by: Makoto Fujiwara <makoto@ki.nu> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5e0539a3 | 2012-07-03 21:15:33 | Merge branch 'aclocal-trace-macrodir' * aclocal-trace-macrodir: aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cd1a9ccc | 2010-10-05 17:14:00 | aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead Maintaining ACLOCAL_AMFLAGS in the Makefile.am to pass extra flags to aclocal is (and have always been) quite of an hack. For example, autoreconf is forced to grep Makefile.am to honour those flags. But this is a bad obsolescent behaviour; in fact, the autotools have moved consistently in the past years from custom grepping of Makefile.am and configure.ac to tracing of m4 macro calls, which is more consistent, more reliable and more flexible. And when autoreconf is not used, the developer is forced to add *by hand* the flags specified by ACLOCAL_AMFLAGS to the aclocal calls not triggered by make rebuild rules; here lie again more duplication and more chances for errors. Moreover, ACLOCAL_AMFLAGS has only two typical use cases: - to instruct aclocal to look for extra macro definition in a local directory (as with "ACLOCAL_AMFLAGS = -I m4"); and - to further instruct aclocal to copy in that local directory the required third-party .m4 files found in the system-wide directory (as with "ACLOCAL_AMFLAGS = -I m4 --install"). The first use case can be better covered if aclocal can instead trace and honours call to the AC_CONFIG_MACRO_DIR autoconf macro; and the second use case shouldn't be considered really legitimate, as it is quite (and subtly) brittle (see automake bug#9037). Thus we now make aclocal trace AC_CONFIG_MACRO_DIR macro, and act accordingly. For backward compatibility, we continue to support the ACLOCAL_AMFLAGS special variable (although removing any mention of it from the documentation). Future Automake releases will likely start to warn about the use of that variable, and eventually remove support for it altogether. From a suggestion by Eric Blake. This is a much simplified (and IMHO saner) version of the patch series discussed in the threads: <http://lists.gnu.org/archive/html/automake-patches/2010-10/msg00045.html> <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00156.html> * aclocal.in ($ac_config_macro_dir): New global variable. (trace_used_macros): Also trace the macro 'AC_CONFIG_MACRO_DIR', and set the '$ac_config_macro_dir' variable accordingly. (parse_arguments): Code for diagnosis of '--install' used without any user-specified include directory moved ... (while (1)): .. into the main loop. Which now also updates the list of user-specified include directories to include the directory given as argument to the call (if any) of 'AC_CONFIG_MACRO_DIR'. * lib/am/configure.am: Update comments. * NEWS: Updated. * doc/automake.texi: Likewise. Also, stop advising the use of the '--install' in ACLOCAL_AMFLAGS (see automake bug#9037 for a rationale), and remove any reference to ACLOCAL_AMFLAGS (which is now considered obsolescent). * t/aclocal-path-install.sh: Adjust grepping check in the aclocal error messages. * t/subpkg.sh: Updated: add 'AC_CONFIG_MACRO_DIR' call to configure.ac, remove setting of 'ACLOCAL_AMFLAGS' in Makefile.am and use of aclocal command line arguments. * t/subpkg2.sh: Likewise. * t/subdir8.sh: Likewise. * t/remake10c.sh: Likewise. * t/remake8a.sh: Likewise. * t/remake8b.sh: Likewise. * t/aclocal4.sh: Likewise. * t/aclocal6.sh: Likewise. * t/acloca14.sh: Likewise. * t/acloca22.sh: Likewise. * t/aclocal5.sh: Likewise, and do not not invade the Automake namespace (this avoids spurious failures). * t/acloca14b.sh: New test, identical to the previous version of 'acloca14.test'; it is kept to verify backwards compatibility with the use of ACLOCAL_AMFLAGS. * t/acloca22b.sh: Likewise (but for 'acloca22.test'). * t/aclocal-amflags.sh: New test, check for backwards compatibility that ACLOCAL_AMFLAGS still works. * t/remake-macrodir.sh: New test, checking that aclocal's honoring of AC_CONFIG_MACRO_DIR interacts nicely with automatic rebuild rules. * t/list-of-tests.mk: Add the new tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 22786e46 | 2012-07-02 15:04:12 | Merge branch 'user-recursive-targets' * user-recursive-targets: recursion: support user-defined recursive targets tests: rename 'recurs*.sh' to 'var-recurs*.sh' tests: minor improvements to 'recurs*.sh' | ||
| 3da1457d | 2012-06-12 14:48:12 | recursion: support user-defined recursive targets The user can now define his own recursive targets that recurse in the directories specified in $(SUBDIRS). That can be done by specifying the name of such targets in invocations of the new 'AM_EXTRA_RECURSIVE_TARGETS' m4 macro. The API goes like this: $ cat configure.ac AC_INIT([pkg-name], [1.0] AM_INIT_AUTOMAKE AM_EXTRA_RECURSIVE_TARGETS([foo]) AC_CONFIG_FILES([Makefile sub/Makefile]) AC_OUTPUT $ cat Makefile.am SUBDIRS = sub foo-local: @echo This will be run by "make foo". $ cat sub/Makefile.am foo-local: @echo This too will be run by a "make foo" issued either in @echo the 'sub/' directory or in the top-level directory. Like for the "default" recursive targets (e.g., 'all' and 'check'), the user-defined recursive targets descend in the $(SUBDIRS) in a depth-first fashion, and process '.' last (unless that is explicitly specified in $(SUBDIRS)). * NEWS, doc/automake.texi: Document the new feature. * automake.in (@extra_recursive_targets): New global variable. (scan_autoconf_traces): Trace macro '_AM_EXTRA_RECURSIVE_TARGETS'. (handle_user_recursion): New subroutine; among other things, it defines the new internal '$(am__extra_recursive_targets)' make variable, and the '*-am', '*-local' and '*-recursive' targets associated with the user-specified user recursive targets. (generate_makefile): Call the new subroutine. * lib/am/subdirs.am (am__recursive_targets): New internal make variable, listing all of '$(RECURSIVE_TARGETS)', '$(RECURSIVE_CLEAN_TARGETS)' and '$(am__extra_recursive_targets)' together. (AM_RECURSIVE_TARGETS): Adjust the definition of this variable ... (.PHONY, .MAKE): ... and the list of dependencies of these special targets to take advantage of the new '$(am__recursive_targets)' variable. ($(am__recursive_targets)): New targets, superseding ... ($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)): ... these, and inheriting their rules. This way, the rules to handle recursion for built-in recursive targets (e.g., 'all', 'dvi', 'clean') and for user defined recursive targets are the same. * m4/extra-recurs.m4: New file, contain definition of new macro 'AM_EXTRA_RECURSIVE_TARGETS' and '_AM_EXTRA_RECURSIVE_TARGETS'. These macros are basically dummy, only used for tracing by automake. * m4/Makefile.am (dist_automake_ac_DATA): Update. * t/recurs-user.sh: New test. * t/recurs-user2.sh: Likewise. * t/recurs-user-deeply-nested.sh: Likewise. * t/recurs-user-indir.sh: Likewise. * t/recurs-user-keep-going.sh: Likewise. * t/recurs-user-many.sh: Likewise. * t/recurs-user-no-subdirs.sh: Likewise. * t/recurs-user-no-top-level.sh: Likewise. * t/recurs-user-override.sh: Likewise. * t/recurs-user-phony.sh: Likewise. * t/recurs-user-wrap.sh: Likewise. * t/remake-recurs-user.sh: Likewise. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> |