summaryrefslogtreecommitdiff
path: root/aclocal.in
Commit message (Collapse)AuthorAgeFilesLines
* build: move automake and aclocal in 'bin' subdirStefano Lattarini2013-05-091-1214/+0
| | | | | | | | | | | | | | | | | | | * automake.in: Rename ... * bin/automake.in: ... like this. * aclocal.in: Rename ... * bin/aclocal.in: ... like this. * Makefile.am: Move parts that dealt with the building/distribution of aclocal and Automake .. * bin/Makefile.inc): ... in this new included fragment. Adjust as needed, and make deliberate use of the '%D%' substitution. * lib/gen-perl-protos: Move ... * bin/gen-perl-protos: ... here. * bootstrap.sh, configure.ac, maintainer/rename-tests, t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc, t/ax/tap-setup.sh, .gitignore: Adjust. * maintainer/syntax-checks.mk: Likewise, and enhance a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-02-211-8/+48
|\ | | | | | | | | | | * branch-1.13.2: aclocal: fix for more-than-once specified directories aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
| * Merge branch 'fix-pr13514' into branch-1.13.2Stefano Lattarini2013-02-211-8/+48
| |\ | | | | | | | | | | | | | | | * fix-pr13514: aclocal: fix for more-than-once specified directories aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
| | * aclocal: fix for more-than-once specified directoriesPavel Raiskup2013-02-211-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to automake bug#13514. Do not consider directories for extra m4 files multiple times in 'aclocal'. Doing so caused problems on older packages that specify configure.ac: AC_CONFIG_MACRO_DIRS([m4]) Makefile.am: ACLOCAL_AMFLAGS = -I m4 if the 'm4' directory does not exist when aclocal is called the first time by autoreconf. See: <http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html> * aclocal.in (scan_m4_files): Remove duplicates in @user_includes. * t/aclocal-macrodir.tap: Extend. * t/aclocal-macrodirs.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * aclocal: just warn if the primary local m4 dir doesn't exist (don't error)Pavel Raiskup2013-02-201-8/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to automake bug#13514. Every package which does not need to have the local m4 macro directory pre-existing in the version control system (because e.g., it does not have nor need any private m4 macros) would fail during the "autoreconf -vfi" phase if AC_CONFIG_MACRO_DIRS([m4]) is specified in configure.ac (it could be to instruct tools like 'autopoint' and 'libtoolize' to use 'm4' as the local directory where to install definitions of their m4 macros, and to instruct aclocal to look into it). The failure would go like this: autoreconf: Entering directory `.' autoreconf: running: aclocal --force aclocal: error: couldn't open directory 'm4': No such file or directory autoreconf: aclocal failed with exit status: 1 The problem is that when 'aclocal' is run for the first time during 'autoreconf', the directory 'm4' does not exist yet. It will be created by e.g., 'libtoolize' or 'autopoint' later on. During the second 'aclocal' run, the 'm4' directory exists and aclocal does not complain. To work around this issue, we degrade the error to a simple warning. The warning is still quite useful when aclocal is run by hand - so we are not removing completely. See also: <http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html> <http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00030.html> <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663> <https://bugzilla.redhat.com/show_bug.cgi?id=901333> * aclocal.in (SCAN_M4_DIRS_SILENT, SCAN_M4_DIRS_WARN) (SCAN_M4_DIRS_ERROR): New constants. (scan_m4_dirs): Change the second parameter name to $ERR_LEVEL to better reflect new semantic. Use new constants. (scan_m4_files): Adjust to reflect the new 'scan_m4_dirs' semantics. * t/aclocal-macrodir.tap: Adjust. * t/aclocal-macrodirs.tap: Likewise. * THANKS: Update. * NEWS: Likewise. Suggested-by: Ben Pfaff <blp@cs.stanford.edu> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-02-201-4/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | * branch-1.13.2: coverage: expose automake bug#13760 tests: refactor/enhance tests about make dry-run mode maint: describe new versioning and branching scheme, and adjust to it Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | maint: describe new versioning and branching scheme, and adjust to itStefano Lattarini2013-02-171-4/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | build: auto-generate perl subroutines prototypes for automake and aclocalStefano Lattarini2013-02-131-21/+1
|/ | | | | | | | | | | | | | | | | | | | | This will allow us to avoid either using the '&foo' invocation form when invoking a subroutine before its definition, or having to maintain the list of prototypes by hand (with the risk of having it become incomplete or fall out-of-sync when future edits to the automake and aclocal scripts are done). * Makefile.am (automake, aclocal): Automatically generate a list of prototypes by looking at the subroutines definitions. * bootstrap.sh: Likewise, when generating the temporary automake and aclocal scripts used for bootstrapping. * automake.in: Add a placeholder that will be tracked by the new recipes and substituted with the computed prototypes. Remove existing prototypes, that are now superfluous. Some adjustments required by the new, more comprehensive prototypes declarations. * aclocal.in: Likewise. * maintainer/syntax-checks.mk (sc_diff_automake, sc_diff_aclocal): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: update copyright year for 2013 (in branch maint)Stefano Lattarini2012-12-311-1/+1
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'maint'Stefano Lattarini2012-11-161-2/+3
|\ | | | | | | | | | | | | | | | | | | | | | | * 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>
| * maint: get rid of $perllibdir environment variable hackStefano Lattarini2012-11-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That was needed when the automake-$APIVERSION and aclocal-$APIVERSION wrapper scripts used by the testsuite were shell script, rather than perl scripts acting as a thin layers. * aclocal.in (BEGIN): Update @INC based on the contents of the array '@Aclocal::perl_libdirs', rather than of the environment variable 'perllibdir'. * t/wrap/aclocal.in (BEGIN): Initialize '@Aclocal::perl_libdirs' rather than $ENV{'perllibdir'}. * automake.in (BEGIN): Update @INC based on the contents of the array '@Automake::perl_libdirs', rather than of the environment variable 'perllibdir'. * t/wrap/automake.in (BEGIN): Initialize '@Automake::perl_libdirs' rather than $ENV{'perllibdir'}. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugsStefano Lattarini2012-11-151-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autom4te program coming with autoconf 2.68 and earlier had a bug which caused the "-" command line argument (with which we tell it to read some input from from standard input) to aways be pushed at the *end* of the command line, regardless of where the user specified it (that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt: new Autom4te::Getopt module"). This broken semantics conflict with our usage in aclocal, where we need to pass some input to the invoked autom4te program early, and have so far been using the stdin to do so. Now we start using an external file instead. * m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf releases. * aclocal.in (trace_used_macros): When invoking autom4te, use that file instead of "abusing" standard input. * Makefile.am (dist_automake_ac_DATA): Rename ... (nobase_dist_automake_ac_DATA): ... like this. Add 'm4/internal/ac-config-macro-dirs.m4' to it. * t/aclocal-acdir.sh: Adjust to avoid spurious failures. Helped-by: Eric Blake <eblake@redhat.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as wellStefano Lattarini2012-11-151-12/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow our users to interact also with pre-2.70 autoconf without need for the user to add ACLOCAL_AMFLAGS in Makefile.am. For example, before this change, in order to have aclocal look for macros in 'm4/dir1' and 'm4/dir2' also when (say) autoconf 2.69 was used, our users would have had to add something like: ACLOCAL_AMFLAGS = -I m4/dir1 -I m4/dir2 in Makefile.am, in addition to the AC_CONFIG_MACRO_DIRS([m4/dir1 m4/dir2]) in configure.ac. Now, the AC_CONFIG_MACRO_DIRS call is enough. See the long-winded discussion on automake bug#12845 for more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12845> * aclocal.in ($ac_config_macro_dirs_fallback): New global variable, contains m4 code to issue a fallback definition of AC_CONFIG_MACRO_DIRS as an alias for the private macro _AM_CONFIG_MACRO_DIRS. (trace_used_macros): Handle and trace that macro. Do some code reorganization and fix related botched indentation while at it. (write_aclocal): Output '$ac_config_macro_dirs_fallback' early in the generated aclocal.m4. * t/aclocal-macrodirs.tap: Run unconditionally, even with older autoconf. * t/subpkg-macrodir.sh: Likewise. * doc/automake.texi: Document only AC_CONFIG_MACRO_DIRS, rather than AC_CONFIG_MACRO_DIR. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: trace AC_CONFIG_MACRO_DIR_TRACEStefano Lattarini2012-11-101-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is now the documented way, and indeed the only correct way, to support AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS in third-party tools. See autoconf commit v2.69-45-g5269030 of 2012-11-09, "AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks". * aclocal.in (trace_used_macros): Trace 'AC_CONFIG_MACRO_DIR_TRACE' rather than 'AC_CONFIG_MACRO_DIRS'. We still have to trace 'AC_CONFIG_MACRO_DIR' explicitly though, for compatibility with Autoconf versions before 2.70. * t/aclocal-macrodirs.tap: Enhance w.r.t. precedence of arguments in one and several AC_CONFIG_MACRO_DIRS calls. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRSStefano Lattarini2012-11-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When some macro expanded in configure.ac calls AC_REQUIRE on another macro that is defined in one of the local m4 macro dirs specified with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like: configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd configure.ac:3: MY_FOO is expanded from... Such warnings come from autom4te, and are due to the fact that the *first* autom4te invocation issued by aclocal is not yet able to "see" the m4 macro definitions in the local m4 dirs (because they can be looked for only after the AC_CONFIG_MACRO_DIRS call has been traced, and tracing it requires running autom4te). To allow us to work around this issue, autom4te has introduced a new "witness" macro 'm4_require_silent_probe', that, when defined, allows us to silence that particular kind of warnings (and only it). Reported by Nick Bowler; see point (4) of: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> * aclocal.in (trace_used_macros): Pre-define the special macro 'm4_require_silent_probe' when invoking autom4te. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with AC_REQUIRE"): This test passes now: remove the "TODO" directive. * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with AC_REQUIRE"): Likewise. * t/acloca17.sh: Remove. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: smash newlines in arguments of traced macrosStefano Lattarini2012-11-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes the existing issues with AC_CONFIG_MACRO_DIRS containing newlines: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> Likely, it will also allow a less involved implementation of the AM_EXTRA_RECURSIVE_TARGETS macro (but that is left for potential follow-up patches). * aclocal.in (trace_used_macros): When calling autom4te, pass its '--trace' option an argument containing '${::}%' rather than '$1'. According to the autoconf manual (as of version 2.69), that will expand to the concatenation, with the '::' string, of all the arguments passed to a macro, with all newline characters in such arguments smashed. Related adjustments when handling the macro AC_CONFIG_MACRO_DIRS, to ensure leading whitespace in its argument are handled correctly. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS: extra whitespace"): No longer declare it as an xfailing test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS betterStefano Lattarini2012-11-101-18/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new implementation ensures that any directory (possibly excluding the first one, if the '--install' option is used) that is declared with AC_CONFIG_MACRO_DIRS and that is non-existent will cause an error from aclocal. * aclocal.in (scan_m4_dirs): Add a new argument, telling whether it's OK for the scanned directory to be non-existing. Adjust the implementation accordingly. ($first_user_m4dir): Remove, no more needed. (scan_m4_files): Update 'scan_m4_dirs' invocations so that aclocal will not complain if the first user macro directory is non-existing and the '--install' option is given: such directory will be created later by aclocal itself. * t/aclocal-macrodir.tap: Do not mark the last test as TODO anymore; it now passes. Make stricter by ensuring a non-existing directory in AC_CONFIG_MACRO_DIRS causes an hard error, not a warning. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRSStefano Lattarini2012-11-101-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in autoconf (and is expected to appear in the autoconf 2.70 release), allowing us to declare several local m4 macro directories for a package. It can be done either passing several arguments to a single invocation: AC_CONFIG_MACRO_DIRS([dir1 dir2]) or issuing more invocations: AC_CONFIG_MACRO_DIRS([dir1]) AC_CONFIG_MACRO_DIRS([dir2]) or a combination of the two: AC_CONFIG_MACRO_DIRS([dir1 dir2]) AC_CONFIG_MACRO_DIRS([dir3]) This will allow projects to use several m4 macro local dirs, without the need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally remove). This is especially important for projects that are used as nested subpackages of larger projects. For more information and rationales, refer to these past discussions: <http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html> <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html> <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html> <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html> <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/> <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087> <http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956> as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03, "aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead", autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS: new macro, mostly for aclocal". * aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ... (@ac_config_macro_dirs): ... this global array. (trace_used_macros): Update '@ac_config_macro_dirs' instead of re-defining '$ac_config_macro_dir'. Cater to calls the now-preferred macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one AC_CONFIG_MACRO_DIR. (main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir', to '@user_includes'. * t/subpkg-macrodir.sh: New test. * t/aclocal-macrodirs.tap: Likewise. * t/list-of-tests.mk: Add them. * t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in sync with 'aclocal-macrodirs.tap'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR insteadStefano Lattarini2012-07-031-17/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'maint'Stefano Lattarini2012-06-021-8/+34
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: news: document deprecation of configure.in news: put planned backward compatibilities early sync: update files from upstream with "make fetch" maint: deprecate 'configure.in' as autoconf input maint: post-release minor version bump release: stable release 1.12.1 copyright: update copyright years in a couple of files tests: avoid spurious failures with Solaris 9 cscope program maintcheck: fix a spurious failure perf: beginning of a performance testsuite aclocal: declare function prototypes, do not use '&' in function calls news: support for configure.in will be dropped in future automake versions tests: fix botched heading comments in 'lex-clean-cxx.sh' [ng] maintcheck: some tweaks and fixlets help: fix a typo in the list of warning categories maint: version bump after beta release release: beta release 1.12.0b (will become 1.12.1) release: remove overly picky check Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * aclocal: declare function prototypes, do not use '&' in function callsStefano Lattarini2012-05-291-8/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change will also fix automake bug#11543 (from a report by Matt Burgess). * aclocal.in: Declare prototypes for almost all functions early, before any actual function definition (but omit the prototype for the dynamically generated '&search' function). Add prototypes to any function definition. Remove '&' from function invocations (i.e., simply use "func(ARGS..)" instead of "&func(ARGS...)"). * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-05-021-0/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * maint: news: document improvement in parallel-tests performance tests: fix spurious failure due to autom4te caching news: fix typos aclocal: error out again on unrecognized arguments parallel-tests: save few forks when possible parallel-tests: optimize global log creation parallel-tests: optimize 'recheck' target for speed coverage: add performance tests on some parallel-tests aspects
| * aclocal: error out again on unrecognized argumentsStefano Lattarini2012-05-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing: move into a dedicated perl module", aclocal has been silently ignoring non-option arguments instead of correctly reporting them. Fix this regression. * t/aclocal.sh: Update to catch the regression. * aclocal.in (parse_arguments): Explicitly reject non-option arguments. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| |
| \
*-. \ Merge branches 'remove-acdir-option' and 'remove-obsolete-m4'Stefano Lattarini2012-04-281-10/+0
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * remove-acdir-option: aclocal: remove the --acdir option * remove-obsolete-m4: m4: delete several obsolete macros Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | aclocal: remove the --acdir optionStefano Lattarini2012-04-271-10/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It not documented in the manual anymore, its use has already been causing a deprecation warning, and its oncoming removal has already been announced in the NEWS file. So let's finally remove it. * aclocal.in (parse_arguments): Don't recognize the '--acdir' option anymore. (handle_acdir_option): Remove subroutine. * configure.ac ($ACLOCAL): Adjust. ($AUTOMAKE): Cosmetic changes, for consistency. * tests/aclocal-acdir.test: Remove usages of the '--acdir' option. * tests/aclocal-print-acdir.test: Likewise. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | build: ensure release year in copyright notice is up-to-dateStefano Lattarini2012-04-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From a suggestion by Eric Blake. See automake bug#11356. This is a follow-up to previous patch 'v1.12-12-gb99b5be'. * configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold the value of the current year. * Makefile.am (update-copyright): Be sure to also update the definition of 'RELEASE_YEAR' in configure.ac. * lib/Automake/Config.in ($RELEASE_YEAR): New exported variable, initialized from the value substituted for '@RELEASE_YEAR@'. (@EXPORT): Add it. * automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be substituted at make time) instead of hard-coding the release year. This should ensure the copyright range in the version message and in the generated files (Makefile.in and aclocal.m4) are automatically kept up-to-date. * bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | automake, aclocal: update copyright year in outputStefano Lattarini2012-04-271-4/+3
|/ | | | | | | | | | | | Fixes automake bug#11356. * aclocal.in, automake.in: Add copyright year '2012' in the version message. Ditto for the copyright notice in the generated Makefile.in or aclocal.m4 files; and for those, since we are at it, prefer using a range for copyright years, rather than listing each copyright year individually. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'maint'Stefano Lattarini2012-03-181-7/+29
|\ | | | | | | | | | | | | | | | | | | * maint: install-mans: avoid spurious failure with NetBSD make install: don't create empty dirs when an empty 'foo_PRIMARY' is used aclocal: remove a couple of useless imports aclocal: create local directory where to install m4 files Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * aclocal: remove a couple of useless importsStefano Lattarini2012-03-171-2/+0
| | | | | | | | | | | | | | * aclocal.in (File::stat, Cwd): Remove these imports, they are not really required. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * aclocal: create local directory where to install m4 filesStefano Lattarini2012-03-161-9/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes automake bug#8168 and bug#10816. A call like "aclocal -I m4 --install" used to fail if the 'm4' directory wasn't pre-existing. This could be particularly annoying when running in a checked-out version from a VCS like git, which doesn't allow empty directories to be tracked. * aclocal.in (File::Path): New import. (scan_m4_dirs): Don't die if the first directory of type FT_USER doesn't exist and the '--install' option was given; that directory will be created later ... (install_file): ... here. Change signature of this function: now it takes as second argument the destination directory rather than the destination file. Crate the destination directory if it doesn't already exist. In verbose mode, tell what is being copied where. (write_aclocal): Update to the changes in 'install_file'. * NEWS, THANKS: Update. * tests/aclocal-install-fail.test: New test. * tests/aclocal-install-mkdir.test: Likewise. * tests/aclocal-no-install-no-mkdir.test: Likewise. * tests/aclocal-verbose-install.test: Likewise. * tests/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | cosmetics: typofixes and whitespace changesStefano Lattarini2012-02-241-1/+1
| | | | | | | | | | | | * configure.ac: Fix a typo in comments. * aclocal.in: Get rid of latest form-feed (^L) usages. * automake.in: Likewise.
* | aclocal: do not quote `like this', as per GCS recommendationStefano Lattarini2012-02-231-37/+37
| | | | | | | | | | | | * aclocal.in: Convert comments, diagnostic and help screen to the use of new quoting format 'like this' or "like this" rather than `like this'.
* | maint: run "make update-copyright"Stefano Lattarini2012-02-161-3/+1
| |
* | Merge branch 'maint'Stefano Lattarini2012-01-181-49/+5
|\ \ | |/ | | | | | | * maint: cmdline parsing: move into a dedicated perl module
| * cmdline parsing: move into a dedicated perl moduleStefano Lattarini2012-01-181-49/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'maint'Stefano Lattarini2011-09-201-2/+19
|\ \ | |/ | | | | | | | | | | | | | | | | * maint: docs: document planned precedence changes in aclocal search path aclocal: handle ACLOCAL_PATH environment variable tests: fix spurious failure in 'primary-prefix-valid-couples.test' docs: deprecate JAVA primary docs: clearer distinction between `.java' with javac and with gcj java: complain if java_JAVA is used but $(javadir) is undefined
| * aclocal: handle ACLOCAL_PATH environment variablePaolo Bonzini2011-09-201-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH as a colon-separated list of directories to be included in the search path. * doc/automake.texi (Macro Search Path): Document new behavior and the precedence rules for various elements of the search path. * tests/aclocal-path.test: New test. * tests/aclocal-path-install.test: Likewise. * tests/aclocal-path-install-serial.test: Likewise. * tests/aclocal-path-precedence.test: Likewise. * tests/aclocal-path-nonexistent.test: Likewise. * tests/Makefile.am (TESTS): Add them. * NEWS: Update. * tests/distcheck-missing-m4.test: Extend by also checking interactions with ACLOCAL_PATH. * tests/distcheck-outdated-m4.test: Likewise, and fix a couple of botched comments since we are at it.
* | Merge branch 'maint'Stefano Lattarini2011-09-101-1/+1
|\ \ | |/ | | | | | | * maint: aclocal: better URL reference in error message
| * aclocal: better URL reference in error messageStefano Lattarini2011-09-101-1/+1
| | | | | | | | | | | | * aclocal.in (scan_file): In the error message about underquoted definitions, reference the automake page at `www.gnu.org', not at `sources.redhat.com'.
* | Merge branch 'maint'Stefano Lattarini2011-09-081-38/+36
|\ \ | |/ | | | | | | * maint: aclocal: more granularity in acdir overriding
| * aclocal: more granularity in acdir overridingStefano Lattarini2011-09-081-38/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, using the `--acdir' option caused aclocal to redefine both the directory of automake-provided m4 macros and the directory of third-party system-wide m4 macros. With this change, we deprecate the `--acdir' aclocal option, and introduce two new options `--automake-acdir' and `--system-acdir', to allow for more granularity. * aclocal.in (@automake_includes, @system_includes, @user_includes): Fix and extend comments. (usage): Update. (handle_acdir_option): New function. (parse_arguments): Recognize new options `--system-acdir' and `automake-acdir', and handle `--acdir' using the new function above. Simplify logic by assuming that the directory of third-party system-wide m4 files always exists. * tests/aclocal.in: Update to use the new options, instead of the deprecated. `--acdir'. * m4/dirlist: Move ... * m4/acdir/dirlist: ... here. * m4/Makefile.am (EXTRA_DIST): Update. (m4datadir): Rename ... (automake_acdir): ... to this. Accordingly, ... (dist_m4data_DATA): ... rename this ... (dist_automake_ac_DATA): ... to this. (system_acdir): New, directory. (dist_system_ac_DATA): New, defined to an empty value; this will ensure that the $(system_acdir) directory will be created by "make install". * tests/aclocal.test: Remove check about the `--print-ac-dir' option of aclocal, it has been moved into ... * tests/aclocal-print-acdir.test: ... this new test, and quite extended. * tests/aclocal-acdir.test: New test. * tests/Makefile.am (TESTS): Add the new tests. * NEWS, bootstrap: Update. * doc/automake.texi (aclocal Options, Macro Search Path): Update.
* | Merge branch 'maint'Stefano Lattarini2011-05-311-1/+1
|\ \ | |/ | | | | | | | | | | * maint: automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too tests/README: fix example about `make -e' usage
| * automake, aclocal: honour configure-time AUTOCONF and AUTOM4TEStefano Lattarini2011-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the Automake's own configure script allow definition of AUTOCONF and AUTOM4TE, expected to point respectively to an autoconf and autom4te programs. But while these definitions are honoured in the Automake's build systems and test suite, they were *not* honoured in the generated `automake' and `aclocal' scripts. This behaviour, apart from being wrong in that it does not allow the user enough freedom in choosing his tools, also caused inconsistencies in the test suite, brining to spurious failures. Problem reported by Graham Reitz on the automake list; see thread: <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html> * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'. * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'. * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and `@am_AUTOM4TE'. * NEWS: Update. * THANKS: Update.
* | Merge branch 'maint'Ralf Wildenhues2011-01-021-3/+5
|\ \ | |/
| * Bump copyright years.Ralf Wildenhues2011-01-021-3/+5
| | | | | | | | | | | | | | | | * aclocal.in (write_aclocal, version): Bump copyright years. * automake.in (gen_copyright, version): Likewise. * doc/automake.texi: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* | Merge branch 'maint'Ralf Wildenhues2010-06-261-1/+4
|\ \ | |/
| * Update program --help output to match current GCS.Ralf Wildenhues2010-06-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL is not defined, for compatibility to Autoconf < 2.64. * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and PACKAGE_URL. (sc_diff_automake_in_automake): Update number of diff lines for additional substitutions. * aclocal.in (usage): Use PACKAGE_BUGREPORT. Point to Automake home page and GNU general help page. * automake.in (usage): Likewise. * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email address. (Introduction, Creating amhello, amhello Explained, Options): Use it throughout. * lib/Automake/Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT. * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global. * lib/Automake/ChannelDefs.pm: Use it for footer of fatal messages. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* | More minor message fixes.Ralf Wildenhues2010-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * aclocal.in (scan_file): Fix recommended info command line. * automake.in (handle_lib_objects): No need to prepend function name to prog_error message. (handle_tags): Add missing word and missing space in error message. (handle_dist): Add missing closing single quote in message. Line-wrap one long message for readability. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* | Warning and error message formatting cleanups.Ralf Wildenhues2010-04-251-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aclocal.in (parse_arguments, main): Remove trailing period or newline in error or warning messages, avoid capitalization of the first word of a message. * automake.in (check_user_variables, handle_languages) (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files) (scan_autoconf_files, cond_stack_if, require_file_internal) (usage, generate_makefile, parse_arguments): Likewise. * lib/Automake/ChannelDefs.pm (set_strictness): Likewise. * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise. * lib/Automake/Options.pm (set_strictness): Likewise. * lib/Automake/Rule.pm (define): Likewise. * lib/Automake/Variable.pm (define, variables_dump): Likewise. * tests/ltinstloc.test, tests/suffix11.test: Adjust expected error message. * lib/Automake/Channels.pm (setup_channel): Reword error message to be the same as in msg. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* | Fix placing of ellipses in English text and synopses.Ralf Wildenhues2010-04-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am: Be sure to add a space before `...' in natural language text. * automake.in (scan_autoconf_traces): Likewise. * lib/Automake/Rule.pm (define): Likewise. * lib/Automake/Variable.pm (define): Likewise. * lib/am/dejagnu.am: Likewise. * lib/am/progs.am: Likewise. * lib/gnupload (dprint, upload): Likewise. * tests/confdeps.test: Likewise. * tests/location.test: Adjust expected output. * automake.in (usage): In synopsis, use singular for OPTION, * remove space before ellipsis. * aclocal.in (usage): Likewise. Also, fix indentation. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>