Erase stamps from the Makefile that generates them.
* automake.in (handle_configure): Append each used stamp to
@distclean_config. Don't warn about stamp-h in AC_OUTPUT, this
file is not used anymore.
* lib/am/clean.am (distclean-generic): Don't erase stamp-h and
stamp-h[0-9]*.
* tests/subdir6.test: New file.
* tests/Makefile.am (TESTS): Add it.
Fix for condd.test (conditional `+='):
* automake.in (%appendvar): New.
(initialize_per_input): Clear it.
(macro_define): Handle += for variable defined in another condition.
* automake.texi (Conditional Sources): Use conditional += in
the example.
(General Operation, Conditionals): Remove note about broken +=.
* tests/cond21.test: New file.
* tests/condd.test: Also test conditional append to a _SOURCE
variable. Create missing directories.
* tests/Makefile.am (TESTS): Add cond21.test.
(XFAILS): Remove condd.test.
For PR automake/307:
* lib/depcomp: Never compute dependencies in the background, this
can cause races with libtool. Compute the dependencies after
the actual compilation. Don't make libtool silent now that
it's run in the foreground.
* tests/pr307.test: New file.
* tests/Makefile.am (TESTS): Add pr307.test.
Reported by Laurent Morichetti.
Fix PR automake/315:
* automake.in (subobjname): Rewrite to generate variable name
unique for each content.
(%substnums): Remove.
(%subobjvar): New hash.
(initialize_per_input): Clear %subobjvar.
(define_objects_from_sources): Return the name of the variable
defined, in addition to the linker. Call subobjname only once
the content of the variable to define is known.
(handle_source_transform): Adjust call to define_objects_from_sources.
* tests/specflags8.test: Mention PR 315.
* tests/subobjname.test: New file.
* tests/Makefile.am (XFAIL_TESTS): Remove specflags8.test.
(TESTS): Add subobjname.test.
* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Grep
the whole file for 'generated by automake', not only the
first line. This accounts for post-processed Makefile.in's.
* tests/postproc.test: New file.
* tests/Makefile.am (TESTS): Add postproc.test.
For PR automake/151 and PR automake/314:
* automake.texi (A Program): Split into
(Program Sources, Linking, Conditional Sources, Conditional
Programs): ... these subsections; moving the Linking node
before the Conditional discussions.
(Conditional Sources): More details. Notably, mention
hello_DEPENDENCIES.
(Conditionals): Adjust reference to Conditional Programs.
For PR automake/151 and PR automake/314:
* automake.texi (A Program): Split into
(Program Sources, Linking, Conditional Sources, Conditional
Programs): ... these subsections; moving the Linking node
before the Conditional discussions.
(Conditional Sources): More details. Notably, mention
hello_DEPENDENCIES.
(Conditionals): Adjust reference to Conditional Programs.
Paul Eggert [Fri, 19 Apr 2002 20:59:18 +0000 (20:59 +0000)]
Fix some bugs when using "$@" when there might be zero positional
arguments in cases where this matters. Zsh doesn't support
the workaround ${1+"$@"} that has been used by Automake since
the Mon Dec 4 11:55:36 1995 change.
* aclocal.in: Use 'case' statement to work around problem.
* automake.in: Likewise.
* lib/ylwrap: Likewise.
* lib/missing: No need for workaround, as the command is never
invoked with zero arguments.
* tests/ccnoco.test: Likewise.
* missing: Update from lib/missing.
* automake.in (initialize_per_input): Clear %require_file_found.
(%require_file_found): Group the declaration with the other
variables initialized by initialize_per_input.
* tests/required.test: New file.
* tests/Makefile.am (TESTS): Add it.
Reported by Marius Vollmer.
* m4/header.m4 (_AM_CONFIG_HEADER_INSINUATE): New function,
override AC_CONFIG_HEADERS with AM_CONFIG_HEADER.
(_AM_CONFIG_HEADER): Use _AM_AC_CONFIG_HEADERS.
* m4/init.m4: Call _AM_CONFIG_HEADER_INSINUATE.
* tests/stamph2.test: Use AC_CONFIG_HEADERS for some of the config
files.
* tests/confh5.test: New file.
* tests/Makefile.am (TESTS): Add confh5.test.
* automake.texi (Optional, Public macros): Update descriptions
of AC_CONFIG_HEADERS and AM_CONFIG_HEADER.
* tests/man2.test: New file.
* tests/Makefile.am (TESTS): Add man2.test.
* lib/am/mans.am (install-man%SECTION%): Change the extension
of the man pages being installed, as documented.
Enable traces; wipe out the old configure.in parser.
* automake.in (scan_autoconf_traces): Use '$ENF{AUTOCONF}' of
'autoconf'. Honnor the $filename argument.
(scan_autoconf_files): Don't call scan_one_autoconf_file.
Always call scan_autoconf_traces.
(scan_one_autoconf_file): Remove, with it associated regexes.
(obsolete, obsolete_rx): Remove.
(register_language, handle_languages): Remove the 'define_flag'
support. Remove it from the struct and language definitions too.
(unquote_m4_arg): Remove.
* lib/am/header-vars.am, lib/am/compile.am, lib/am/lisp.am: Remove
the `FOO = @FOO@' definitions for all AC_SUBST'ed variables. They
are now generated automatically.
* aclocal.in (obsolete_macros): Don't mention obsolete_macros in
automake.in.
* automake.texi (Invoking Automake): Mention the AUTOCONF envvar.
* tests/discover.test: Use a full configure.in that calls AC_INIT.
Use AC_LIBOBJ. Grep the error message.
* test/ldadd.test: Don't use LIBOBJS. Use a full configure.in.
Grep the error message. Require libtool.
* tests/ldflags.test: Don't use LIBOBJS.
* tests/seenc.test: Use AC_LIBOBJ, --Wno-error, and grep the
error messages for CC and CXX.
* automake.in (scan_autoconf_traces) <AC_SUBST>: Ignore ANSI2KNR
and AMDEPBACKSLASH.
* tests/distcommon2.test: Use a full configure.in that calls AC_INIT.
* tests/ext.test: Enable dependencies for OBJC.
* tests/libobj.test, tests/libobj6.test, tests/libobj9.test:
Delete. They tests for different flavors of $LIBOBJS assignments
that wont be supported anymore.
* tests/libobj2.test, tests/libobj10.test: Use AC_LIBOBJ.
* tests/obsolete.test: Don't test Automake.
* tests/suffix5.test: Require libtool.
* tests/Makefile.am (TESTS): Remove libobj.test, libobj6.test and
libobj9.test.
* Makefile.am (maintainer-check): Make sure `$MAKE -e' is
always followed by a SHELL setting.
* tests/ansi3.test, tests/ansi5.test, tests/subobj3.test: Set
SHELL when calling `$MAKE -e'.
* lib/am/subdirs.am:
($(RECURSIVE_TARGETS), maintainer-clean-recursive):
$(MAKEFLAGS) -> $$MAKEFLAGS, so that we don't run into problems if
MAKEFLAGS contains '$(...)'.
Tom Tromey [Sat, 30 Mar 2002 00:26:05 +0000 (00:26 +0000)]
For PR automake/312:
* lib/am/libtool.am (clean-libtool): Use LTRMS.
* automake.in (handle_single_transform_list): When processing a
libtool object, clean the ordinary object and register the
directory.
(libtool_clean_directories): New global.
(initialize_per_input): Initialize it.
(generate_makefile): Call handle_libtool later.
(handle_libtool): Handle libtool_clean_directories.
* tests/subobj9.test: New file.
* tests/Makefile.am (TESTS): Added subobj9.test.
* tests/extra7.test: New file.
* tests/Makefile.am: Add it.
* lib/am/distdir.an (distdir): When a distribuable directory
exists both in `.' and $(srcdir), merge both directories. This
works around a failure of extra6.test on Tru64 reported by
Nicolas Joly.
* Makefile.am (maintainer-check): Catch occurrences of
`$MAKE foo=bar' in the testsuite. Suggest using
`foo=bar $MAKE -e' instead.
* tests/ansi3.test, tests/ansi5.test, tests/subobj3.test:
Use $MAKE -e. This fixes a ansi5.test failure with Solaris make.
* tests/defs: Unset $srcdir, and set $testsrcdir to its old value.
* tests/installsh.test (AUTOMAKE, ACLOCAL): Use $testsrcdir.
* Makefile.am (maintainer-check): Check for misuses of make,
autoconf, automake, aclocal, and perl in the testsuite. Suggest
using $MAKE, $AUTOCONF, $AUTOMAKE, $ACLOCAL, and $PERL instead.
* tests/confsub.test: Use $AUTOCONF and $MAKE.
* tests/extra5.test, tests/extra6.test, tests/lex5.test,
tests/nobase.test, tests/nodist2.test, tests/pr204.test,
tests/pr224.test, tests/pr287.test, tests/strip.test,
tests/yacc8.test: Use $MAKE.
* tests/version5.test: New file.
* tests/Makefile.am (TESTS): Add it.
* automake.in (version_split, version_compare): New functions.
(version_check): Rewrite using version_split and version_compare.
(process_option_list): Adjust regex.
Richard Boulton [Mon, 11 Mar 2002 17:24:12 +0000 (17:24 +0000)]
automake.in (check_typos): Allow variables with reserved
suffices (such as _LDFLAGS) and prefixes which aren't
recognised if the variable is defined in configure.ac.
Fixes acsubst.test.
Richard Boulton [Mon, 11 Mar 2002 17:00:43 +0000 (17:00 +0000)]
tests/acsubst.test: New test, by Alexandre Duret-Lutz
tests/acsubst2.test: New test, by Alexandre Duret-Lutz
tests/Makefile.am (TEST): Added acsubst.test and acsubst2.test
Fix for PR automake/303:
* automake.in (version_check): Move the error message ...
(process_option_list): ... here, so we can distinguish between
global and local options.
* tests/pr300-lib.test, tests/pr300-ltlib.test,
tests/pr300-prog.test: Use AC_OUTPUT, not AC_OUTPUT(Makefile), so
Autoconf doesn't complain about Makefile being output twice.
Fix for PR automake/300:
* tests/pr300-lib.test, tests/pr300-ltlib.test,
tests/pr300-prog.test: New files.
* tests/Makefile.am (TESTS): Add them.
* automake.in (handle_ltlibraries): Strip nobase_ prefix to
compute the directory.
* lib/am/header-vars.am (install_sh_PROGRAM): New variable.
* lib/am/libs.am (%DIR%LIBRARIES_INSTALL): New variable.
(install-%DIR%LIBRARIES): Use it. Honor nobase_.
(uninstall-%DIR%LIBRARIES): Honor nobase_.
* lib/am/ltlibs.am (%DIR%LTLIBRARIES_INSTALL): New variable.
(install-%DIR%LTLIBRARIES): Use it. Honor nobase_.
(uninstall-%DIR%LTLIBRARIES): Honor nobase_.
* lib/am/progs.am (%DIR%PROGRAMS_INSTALL): New variable.
(install-%DIR%PROGRAMS): Use it. Honor nobase_.
(uninstall-%DIR%PROGRAMS): Honor nobase_.
See also the fix for nobase.test on 2001-11-09.
Fix for PR automake/294:
* tests/dirforbid.test: New file.
* tests/Makefile.am (TESTS): Add it.
* automake.in (standard_prefix): New hash.
(am_primary_prefixes): Forbid standard_prefixes which are not
explicitely allowed.
* automake.texi (Uniform): Remove FIXME.
For PR automake/297:
* lex.m4 (AM_PROG_LEX): Don't set LEX=${am_missing_run}flex until
after AC_PROG_LEX, since it will try to run it and fail (in autoconf
2.52 at least).
* automake.in (scan_one_autoconf_file): Declare
LEX_OUTPUT_ROOT and LEXLIB as configure variables when
AM_PROG_LEX or AC_PROG_LEX are seen. This allows to ...
* lib/am/lex.am: ... remove the LEX_OUTPUT_ROOT and LEXLIB
definitions. Search %SOURCE% in $(srcdir). Use s||| instead
of s/// in the sed invocation, to support filenames containing
slashes.
* lib/am/yacc.am: Search %SOURCE% in $(srcdir). Use s||| too.
* tests/lex5.test, tests/yacc8.test: New files.
* tests/Makefile.am (TESTS): Add them.
Tim Van Holder [Wed, 20 Feb 2002 18:10:17 +0000 (18:10 +0000)]
* m4/lispdir.m4: Redirect /dev/null to stdin when running $EMACS
to try and prevent a non-lisp emacs from starting in interactive
mode.
* automake.texi: Document this change.
* automake.in (handle_lib_objects_cond): Tell the user to put
global linker flags in AM_LDFLAGS, not LDFLAGS.
* automake.texi (General Operation): AC_SUBST'ed variables
override Automake's variables.
(Uniform): More words and @refs.
(Auxiliary Programs) <config.sub, config.guess>: Add URL.
(etags): More explanations about the first example.
(Invoking Automake): Mention autoreconf. More @refs.
(Requirements): Mention AC_CONFIG_FILES.
(Optional): AC_CHECK_TOOL will no longer install config.sub and
config.guess. Mention AC_LIBOBJ, AC_LIBSOURCE, and AC_LIBSOURCES.
(Invoking aclocal): aclocal no longer warn about duplicates.
(Macros) <AM_INIT_AUTOMAKE>: More explanations.
(Extending aclocal): Suggest using the output of
`aclocal --print-ac-dir` to install third-party macros.
(Alternative): Specify ordering of dist_, nodist_, and nobase_
prefixes.
(A Program): Mention scripts. The global LDADD variable is not
meant to hold link flags, suggest using AM_LDFLAGS instead.
(Program and Library Variables) <maude_LIBADD, maude_LDADD>:
_LIBADD and _LDADD are subject to the same restriction wrt to
link flags.
(Program and Library Variables) <maude_DEPENDECIES>: Is also
derived from maude_LIBADD.
(Program variables): Define AM_LDFLAGS.
(Dependencies): Passing the no-dependencies option to
AM_INIT_AUTOMAKE is prefered.
(Scripts): Explain why automake is magically cleaned.
Mention noinst_SCRIPTS and check_SCRIPTS.
(Data): Use dist_ in Automake's example.
(Dist): Reference AM_INIT_AUTOMAKE for PACKAGE and VERSION.
Mention AC_CONFIG_FILES instead of AC_OUTPUT.
* Makefile.am (FETCHFILES): Add Automake/XFile.pm.
(fetch): Fetch XFile.pm. Update the files in $(srcdir) instead
of asking the maintainer to do it manually.
* lib/config.guess, lib/config.sub, lib/texinfo.tex,
Automake/XFile.pm: New upstream versions.
Tom Tromey [Fri, 1 Feb 2002 20:40:48 +0000 (20:40 +0000)]
Change per GNU coding standards:
* aclocal.in (parse_arguments): Only mention most recent year in
copyright output.
* automake.in (version): Only mention most recent year.