summaryrefslogtreecommitdiff
path: root/doc/automake.texi
Commit message (Collapse)AuthorAgeFilesLines
* aclocal: Support ACLOCAL_AUTOMAKE_DIR environment variableMathieu Lirzin2017-08-311-0/+5
| | | | | | | | | | | | | * bin/aclocal.in: Reset '@automake_includes' and '@system_includes' in for build environment. Allow setting '@automake_includes' with ACLOCAL_AUTOMAKE_DIR environment variable. (parse_arguments): Ignore 'dirlist' when '@system_includes' is empty. * doc/automake.texi (aclocal Options): Document ACLOCAL_AUTOMAKE_DIR. * bin/wrap-aclocal.in: Remove extra command line options. * pre-inst-env.in: Set ACLOCAL_AUTOMAKE_DIR and ACLOCAL_PATH environment variables. * t/ax/test-defs.in: Adapt. * t/ansi2knr-no-more.sh (warn_rx): Likewise.
* config: Support AUTOMAKE_LIBDIR environment variableMathieu Lirzin2017-08-301-0/+5
| | | | | | | | * lib/Automake/Config.in: Let AUTOMAKE_LIBDIR environment variable override the default location for '$libdir'. * doc/automake.texi (automake Invocation): Document AUTOMAKE_LIBDIR. * pre-inst-env.in (AUTOMAKE_LIBDIR): Set AUTOMAKE_LIBDIR. * bin/wrap-automake.in: Don't use "--libdir" option.
* doc: Fix typo "nothing" => "noting"Mathieu Lirzin2017-07-161-1/+1
| | | | | | | This fixes bug#24476. * doc/automake.texi (Checking the Distribution): Fix typo. * THANKS: Update.
* doc: Fix typosMathieu Lirzin2017-07-161-2/+2
| | | | | | | | This fixes bug#23099. * doc/automake.texi (Scripts-based Testsuites) (Parallel Test Harness): Fix typos. * THANKS: Update.
* bootstrap: Rename 'bootstrap.sh' to 'bootstrap'.Mathieu Lirzin2017-05-201-4/+4
| | | | | | | | | | | | | | Follow Gnulib's convention of using either "bootstrap" or "autogen.sh" file names for development bootstrap scripts. * bootstrap.sh: Rename to ... * bootstrap: ... this. * GNUmakefile (bootstrap): Adapt. * HACKING: Likewise. * Makefile.am (EXTRA_DIST): Likewise. * doc/automake.texi (Future of aclocal) (Error required file ltmain.sh not found): Likewise. * maintainer/maint.mk (autodiffs, update-copyright): Likewise.
* maint: Update copyright years to 2017.Mathieu Lirzin2017-03-021-1/+1
| | | | This update has been made with 'make update-copyright'.
* doc: fix typo "requited" => "required"Mathieu Lirzin2017-02-231-1/+1
| | | | | | This change fixes automake bug#25413. * doc/automake.texi (Serial Test Harness): Fix typo.
* maint: update copyright years to 2015 (branch 'micro')Stefano Lattarini2015-01-051-1/+1
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: "make distcheck" implementation details are not to be abusedStefano Lattarini2014-12-301-2/+13
| | | | | | | | * doc/automake.texi: State explicitly and in detail that the exact location and the exact structure of the subdirectory used by "make distcheck" is to be considered an implementation detail, which can change at any time. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into minorStefano Lattarini2014-12-221-1/+1
|\ | | | | | | | | | | | | | | | | | | | | * micro: cleanup: refactor code to initialize DIST_COMMON dist: ordering of files in DIST_COMMON is deterministic now tests: refactor some tests on DIST_COMMON maint: make output of 'gen-testsuite-part' deterministic When computing lispdir, don't load emacs site wide init file. PATH: quote $(PATH_SEPARATOR) as well Improve detection of GNU make, avoiding "Arg list too long" errors.
| * When computing lispdir, don't load emacs site wide init file.Andrew Burgess2014-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When computing the lispdir emacs was previously invoked with the '-q' option to avoid loading the users initialisation files, however, the site wide initialisation file was still loaded, in some cases this can cause emacs to hang, with the result that a configure can also hang. The lisp code that aclocal causes to be executed reduces the load-path list (in emacs) to empty. The load-path is used by emacs to find packages which it wants to load. Currently, if emacs tries to auto load a package during shut down, and the package is not found, then emacs will hang. This does seem like an emacs bug, but protecting against this in aclocal is simply a case of not loading the site wide initialisation file. In this patch then the '-q' option to emacs is replaced with '-Q', this has the same, the '-Q' option is similar to '-q --no-site-file --no-splash'. * doc/automake.texi (Hard-Coded Install Paths): Update explanation of emacs code used to get lispdir. * m4/lispdir.m4 (AM_PATH_LISPDIR): Update emacs flags. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into minorStefano Lattarini2014-12-191-10/+21
|\ \ | |/ | | | | | | | | | | | | | | | | * micro: sync: update third-part files from upstream Make sure AM_INIT_AUTOMAKE has a trailing newline dist: adjust warning messages about shar and tarZ deprecation docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: improve description of ${PACKAGE}, ${VERSION}, and similar variablesStefano Lattarini2014-12-181-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, suggesting that $PACKAGE and $VERSION should be aliases of the $PACKAGE_TARNAME and $PACKAGE_VERSION definitions coming from AC_INIT, and not be defined via an obsolete 2-argument invocation of AM_INIT_AUTOMAKE; and why that is the best default, given all our historical baggage. See discussion in http://debbugs.gnu.org/16623 for more information and background. * doc/automake.texi: Adjust. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branches 'pr19311' and 'micro' into minorStefano Lattarini2014-12-171-6/+6
|\ \ | |/ | | | | | | | | | | | | | | | | * pr19311: Expose automake bug#19311 build: fix race in parallel builds * micro: Automake docs: fix typos and use of British English build: fix race in parallel builds
| * Automake docs: fix typos and use of British EnglishKarl Berry2014-12-171-6/+6
| | | | | | | | | | | | * doc/automake.texi: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | maint: update copyright yearsStefano Lattarini2014-04-211-1/+1
| | | | | | | | | | | | We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Typofixes in warning messages and manualStefano Lattarini2014-04-211-1/+1
| | | | | | | | | | | | Fixes automake bug#16827 and bug#16997. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into minorStefano Lattarini2014-04-211-0/+2
|\ \ | |/ | | | | | | * micro: doc: fix encoding error with UTF-8 characters
| * doc: fix encoding error with UTF-8 charactersPaul Eggert2014-01-041-0/+2
| | | | | | | | | | | | | | | | * doc/automake.texi: Specify @documentencoding and @documentlanguage, to prevent encoding errors for parts of this input file that are UTF-8. This also causes the .info output to use curly quotes, which is easier to read though it does assume UTF-8 support.
* | docs: make clear the JAVA primary is frozenStefano Lattarini2013-12-261-1/+3
| | | | | | | | | | | | | | | | | | * doc/automake.texi: Here. The JAVA primary is broken in several ways, and will no longer be developed, not even for bug fixes. See also automake bugs #9088, #8662 and #8540. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| |
| \
*-. \ Merge branches 'fix-pr11814' and 'drop-perl-tap-driver' into minorStefano Lattarini2013-12-251-21/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix-pr11814: docs: drop a few obsolescent FIXME/TODO comments, and associated text testsuite harness: report test exit status in log file * drop-perl-tap-driver: TAP driver: remove perl implementation (move it into contrib/) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * | TAP driver: remove perl implementation (move it into contrib/)Stefano Lattarini2013-12-241-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That implementation was only meant as a standard against which the portable awk+shell implementation was to be measured. Now, since Automake 1.12, the latter implementation is fully functional and already used in the wild, and in fact feature-par with the perl implementation. So the perl implementation is now just slowing down and complicating our testsuite. Let's move it to 'contrib/' (we don't want to remove it, in case someone is actually using it in the wild). * lib/tap-driver.pl: Move it ... * contrib/tap-driver.pl: ... here. While at it, convert quoting `like this' to quoting 'like this', and remove an obsolescent FIXME comment. * lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'. * Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'. * doc/automake.texi: Remove one stray reference to 'tap-driver.pl', and reference 'tap-driver.sh' instead, as intended. * t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and uses. (fetch_tap_driver): Simplify to unconditionally assume the shell+awk implementation of the TAP driver is used. (get_shell_script): Make more flexible so that it can cater to the needs of 'fetch_tap_driver()'. * t/tap-bad-prog.tap: Likewise. * t/tap-bailout-leading-space.sh: Likewise. * t/tap-signal.tap: Likewise. * t/tap-test-number-0.sh: Likewise. * t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'. * gen-testsuite-part (%test_generators): Do not generate sister tests that use the perl TAP driver rather than the shell+awk one. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | docs: drop a few obsolescent FIXME/TODO comments, and associated textStefano Lattarini2013-12-241-20/+0
| |/ | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | TAP driver: no need to invoke AC_PROG_AWK directlyStefano Lattarini2013-12-241-5/+3
|/ | | | | | | | | | | It is already required by AM_INIT_AUTOMAKE anyway. * doc/automake.texi: Adjust examples. * t/tap-doc2.sh: Adjust documentation-tracking test. * m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly tell that the AC_PROG_AWK requirement is also needed whenever the TAP driver is used. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* distcheck: don't allow overriding of --prefix and --srcdir by the userStefano Lattarini2013-10-301-5/+12
| | | | | | | | | | | | | | | | | | | | Not through AM_DISTCHECK_FLAGS, nor through DISTCHECK_FLAGS. Apparently, some packages got in the habit of relaying all the options passed to the original ./configure invocation through to the configure invocations in "make distcheck". This was causing problems, because it also passed through the original --srcdir and --prefix options. Fixes: expose bug#14991 (relates to 'distcheck') * lib/am/distdir.am (distcheck): Pass the hard-coded --srcdir and --prefix options *after* both the developer-defined options in $(AM_DISTCHECK_FLAGS) and the user-defined options in $(DISTCHECK_FLAGS). * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test 'distcheck-no-destdist-or-srcdir-override.sh'. * doc/automake.texi (Checking the Distribution): Update. * NEWS: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: correct typos in the fix-timestamp.sh scriptPeter Breitenlohner2013-10-281-2/+2
| | | | | | | | | | * doc/automake.texi: Here. The original version of this example script makes no sense at all, using 'configure' instead of the intended 'touch' in few key places. Copyright-paperwork-exempt: yes Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into maintStefano Lattarini2013-05-281-2/+2
|\ | | | | | | | | | | | | | | | | * micro: docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake maint: sanity checks in 'check-minimal-autoconf' convenience target maint: test minimal supported autoconf through convenience target maint: install minimal supported autoconf through convenience targets test-lib: typofix in comments
| * docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of AutomakeStefano Lattarini2013-05-281-2/+2
| | | | | | | | | | | | | | | | | | See the 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' file in the 'maint' branch (as of commit v1.13.2-201-gd99e3f3) for details. * doc/automake.texi: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | docs: AM_PROG_CC_C_O: correct imprecise statements about itStefano Lattarini2013-05-281-11/+5
| | | | | | | | | | | | * doc/automake.texi: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | dist: deprecated shar and tar+compress formatsStefano Lattarini2013-05-101-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See also discussion about automake wishlist bug#13324. * lib/Automake/Options.pm: Give proper warnings in the 'obsolete' category if the 'dist-shar' or 'dist-tarZ' options are used. * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are invoked, make them give a non-fatal warning. * doc/automake.texi: Report the new deprecations. * t/dist-shar.sh: New test. * t/dist-tarZ.sh: Likewise. * t/lzma.sh: While at it, rename ... * t/dist-lzma.sh: ... like this, and tweak it to keep more in sync with the new tests. * t/dist-formats.tap: Remove references to deprecated formats. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-05-101-4/+4
|\ \ | |/ | | | | | | | | | | * branch-1.13.2: cosmetics: fix few typos, grammaros and missing whitespace fixup: remove an obsolete comment docs: we still don't have the promised better Java interface
| * docs: we still don't have the promised better Java interfaceStefano Lattarini2013-05-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Michael Zucchi: <http://lists.gnu.org/archive/html/automake/2013-05/threads.html> See also automake bug#9088. * doc/automake.texi (Java): Adjust and clarify. * THANKS: Update. Reported-by: Michael Zucchi <notzed@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-04-261-0/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * branch-1.13.2: docs: issues with configure substitutions in TESTS tests: avoid possible autotools caching issues (automake bug#13832) docs: add myself and Ralf Wildenhues as authors authors: add myself dry-run: don't get confused by '-I' option tests: avoid a spurious failure with the Korn Shell dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS) header vars: can determine whether we are running under GNU make NEWS: improve wording for automake bug#13514 fix NEWS: document fix for automake bug#13514
| * docs: issues with configure substitutions in TESTSStefano Lattarini2013-04-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | Motivated by automake bug#14019. * doc/automake.texi: Currently, when the parallel test harness is in use, configure substitutions in TESTS definitions can only work if they expand to tests that ends with a suffix listed in TEST_EXTENSIONS. Document this limitation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: add myself and Ralf Wildenhues as authorsStefano Lattarini2013-04-251-0/+2
| | | | | | | | | | | | * doc/automake.texi: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | preproc: add support for relative names in included fragmentsPeter Rosin2013-02-141-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rationale for this change is that it is annoying to have to repeat the directory name when including a Makefile fragment. For deep directory structures these repeats can generate a lot of bloat. It also hinders reuse and easy directory restructuring if all Makefile fragments have to know exactly where they live. Suggested by Bob Friesenhahn, and later discussed in bug#13524. In the course of discussion, the following notations were rejected: &{reldir}& - to hard to type, {reldir} - interferes with ${reldir}, {am_reldir} - short form {D} interferes with ${D}, @am_reldir@ - short form @D@ interferes with AC_SUBST([D]) as well as invading the config.status turf. Other notations were also suggested... * automake.in (read_am_file): Add third argument specifying the relative directory of this Makefile fragment compared to the main Makefile. Replace %reldir% and %canon_reldir% in the fragment with this relative directory (with slashes etc, or canonicalized). (read_main_am_file): Adjust. * t/preproc-reldir.sh: New test. * t/list-of-tests.mk: Augment. * doc/automake.texi (Include): Document the new feature. NEWS: Add new feature. Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-01-221-27/+41
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * branch-1.13.2: docs: '.txi' and '.texinfo' extensions are deprecated NEWS: document recent documentation improvements docs: more precise cross reference docs: 'dist-shar' and 'dist-tarZ' are obsolescent today docs: improve documentation of 'dist-*' targets slightly docs: make even clearer 'dist-gzip' is the default. docs: document 'dist-xz' together with the other 'dist-*' options docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets warn: correct broken hyperlink in warning message Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: '.txi' and '.texinfo' extensions are deprecatedStefano Lattarini2013-01-221-3/+3
| | | | | | | | | | | | | | | | And Automake will warn about them (since commit 'v1.13.1-6-ge1ed314'). * doc/automake.texi (Texinfo): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: more precise cross referenceStefano Lattarini2013-01-221-3/+4
| | | | | | | | | | | | | | | | | | | | | | See automake bug#13520. * doc/automake.texi (The Types of Distributions): Here, cross-reference "List of Automake options" rather then the more generic node "Options". Improve wording while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: 'dist-shar' and 'dist-tarZ' are obsolescent todayStefano Lattarini2013-01-221-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Both the options and the formats; and they might be deprecated and removed in future automake versions (see discussion on automake bug#13324). In any case, it's better if the documentation starts advising against their use right now. * doc/automake.texi (The Types of Distributions): Here. (List of Automake options): And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: improve documentation of 'dist-*' targets slightlyStefano Lattarini2013-01-221-6/+6
| | | | | | | | | | | | * doc/automake.texi (The Types of Distributions): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: make even clearer 'dist-gzip' is the default.Stefano Lattarini2013-01-221-4/+5
| | | | | | | | | | | | | | | | See automake bug#13520. * doc/automake.texi (The Types of Distributions): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: document 'dist-xz' together with the other 'dist-*' optionsStefano Lattarini2013-01-221-0/+6
| | | | | | | | | | | | | | | | See automake bug#13520. * doc/automake.texi (List of Automake options): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixletsStefano Lattarini2013-01-221-2/+2
| | | | | | | | | | | | | | | | See automake bug#13519. * doc/automake.texi: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-01-211-9/+10
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That branch is for the "emergency" bug-fixing release 1.13.2. * branch-1.13.2: maint: update copyright in files generated by automake and aclocal tests: avoid a spurious failure when running inside Emacs tests: make two new test executable m4: rename an m4 file to a more appropriate name NEWS: update w.r.t. recent documentation fixes compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC docs: parallel-tests is no longer experimental docs: serial-tests are not deprecated, just discouraged NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: parallel-tests is no longer experimentalStefano Lattarini2013-01-181-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | So don't declare it as such in the documentation. Reported by Brandon Black: <http://lists.gnu.org/archive/html/automake/2013-01/msg00052.html> * doc/automake.texi: Adjust. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: serial-tests are not deprecated, just discouragedStefano Lattarini2013-01-181-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't plan to remove support for them, nor to have the serial-tests option give any kind of runtime warning, so don't alarm the users still using serial tests with pointless "deprecation" or "obsolescence" warnings. Fixes automake bug#13478. See also: <http://lists.gnu.org/archive/html/automake/2013-01/msg00058.html> * doc/automake.texi: Adjust. * THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | docs: typofix in manualStefano Lattarini2013-01-121-4/+4
| | | | | | | | | | | | | | | | * doc/automake.texi (Yacc and Lex): Here, don't write "automake -i" where "automake -a" is actually intended. Re-wrap some text while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | compile: use 'compile' script when "-c -o" is used with losing compilersStefano Lattarini2013-01-111-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do so seen when only source files in the "current" directory are present. This commit is part of a series of related changes addressing automake bug#13378 (see also the plan 'PLANS/subdir-objects.txt'). Before this change, Automake-generated C compilation rules mistakenly passed the "-c -o" options combination unconditionally (even to losing compiler) when the 'subdir-objects' was used but sources were only present in the top-level directory. Issue spotted by Nick Bowler: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44> We fix this by having Automake redefine AC_PROG_CC to take over the role of AM_PROG_CC_C_O and to require the 'compile' script unconditionally (albeit that will continue to be invoked only when inferior compilers are detected). Among other things, this means AM_PROG_CC_C_O explicitly is no longer required; that macro is still supported for backward-compatibility, but calling it is basically a no-op now. This change has some pros and some cons (obviously, we believe the former outweighs the latter). Here are the most relevant ones: + Pros 1: Some logic in the Automake script has been simplified. + Pros 2: That simplification has automatically fixed an actual bug (see Nick's mails referenced above; admittedly, that was present only in corner-case situations, but still); the test 't/ccnoco4.sh', which demonstrated the bug and has been failing so far, now passes. + Pros 3: Things works more "automagically" now (no need to manually add the AM_PROG_CC_C_O macro to configure.ac anymore). * Cons 1: The 'compile' script will be required in all projects using C compilation; this will only be a problem for packages not using '--add-missing'. However, such packages are definitely more rare than the ones using '--add-missing', and adjusting them will be trivial -- just copy the compile script over from the new Automake installation. * Cons 2: The copy & paste of autoconf internals hack this change has introduced in our "rewrite" of AC_PROG_CC is really an egregious abomination. It can only be justified with the fact that we expect future versions of autoconf to implement the semantics we need directly in AC_PROG_CC, so that we'll be able to leverage that (since Automake 1.14 will require the latest Autoconf version released). Now, the detailed list of file-by-file changes ... * automake.in ($seen_cc_c_o): Remove this global variable. (scan_autoconf_traces): Don't set it, and do not trace the 'AM_PROG_CC_C_O' m4 macro. (lang_c_rewrite): Remove, no longer needed. * doc/automake.texi: Adjust expected "autoreconf --install" output in the amhello example. Remove statements about the need for the AM_PROG_CC_C_O macro. Report it is obsolete now. * m4/init.m4: Re-write AC_PROG_CC to append checks about whether the C compiler supports "-c -o" together. These checks have basically been ripped out (with adaptations) from the 'AC_PROG_CC_C_O' macro of Autoconf and ... * m4/minuso.m4 (AM_PROG_CC_C_O): ... this macro of ours, which has thus basically become a no-op. * t/ax/am-test-lib.sh (am_setup_testdir): Also copy the 'compile' script in the test directory; if we don't do so, every test using AC_PROG_CC should call automake with the "--add-missing" option, or copy the 'compile' script itself. * t/cond11.sh: No need to create a dummy 'compile' script: that is already brought in by 'am_setup_testdir()', that is automatically invoked when 'test-lib.sh' is sourced. * t/add-missing.tap: Adjust: we expect the 'compile' script to be required by a mere AC_PROG_CC call now. * t/dist-auxdir-many-subdirs.sh: Likewise. * t/specflg6.sh: Likewise. * t/subobj4.sh: Likewise. * t/cxx-lt-demo.sh: Likewise, and update comments to match. * t/distcom2.sh: Enhance a little. * t/dollarvar2.sh: Adjust. * t/extra-portability.sh: Likewise. * t/libobj19.sh: Likewise. * t/per-target-flags.sh: Likewise. * t/repeated-options.sh: Likewise. * t/subobj.sh: Likewise, and enhance a little. * t/ccnoco2.sh: Remove as obsolete. * t/list-of-tests.mk (handwritten_TESTS): Adjust. (XFAIL_TESTS): Remove 't/ccnoco4.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | docs: mention dist-hook help for EXTRA_DISTKarl Berry2013-01-041-1/+3
| | | | | | | | | | | | | | * automake.texi (Basics of Distribution): mention dist-hook as working around the problems of whole directories in EXTRA_DIST. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>