* automake.in (required_targets): Add the pdf and pdf-am targets.
(initialize_per_input): Likewise.
(scan_texinfo_file): Add pdf to @clean_suffixes.
(handle_texinfo_helper): Output the .pdf dependencies, and define
the PDFS variable.
* lib/am/texinfos.am (TEXI2PDF): New variable.
(pdf, pdf-am): New targets.
(.PHONY): Add pdf, pdf-am, and pdf-recursive.
* lib/am/texibuild.am (.%SUFFIX%.pdf): New rule.
Fix pr307.test failure with gcc 3.x.
* lib/depcomp (dashmstdout): Strip the call to libtool, and
replace `-o $object' by `-o /dev/null' before running "$@"
to generate dependencies.
(cpp): Strip the call to libtool as well as `-o $object'.
* lib/am/java.am (class%DIR%.stamp): Don't run $(JAVAC) when there
is no file to compile.
* tests/java2.test: New file.
* tests/Makefile.am (TESTS): Add java2.test.
Reported by Braden N. McDaniel.
* lib/am/header-vars.am (transform): Define.
Was removed by mistake on 2002-04-13.
* tests/transform.test: New file.
* tests/Makefile.am (TESTS): Add transform.test.
Reported by Nicolas Joly.
* tests/sinclude.test: Rename the package as amsinclude;
am__sinclude still trigers the sinclude macro once it has been
converted to am--sinclude.
Reported by Nicolas Joly.
For PR automake/318:
* tests/nobase.test: Rewrite to test _HEADERS, _DATA, _SCRIPTS,
_PROGRAMS, _LIBRARIES, and _LTLIBRARIES.
* lib/am/scripts.am (install-%DIR%SCRIPTS,
uninstall-%DIR%SCRIPTS): Honor nobase_; strip the directory by
default.
(?%DIR%SCRIPT_INSTALL): New variable.
* lib/am/header-vars.am (install_sh_SCRIPT): New variable.
Reported by Eric Siegerman.
* automake.in (lang_yacc_target_hook): Add rule to recover from
the removal of $header.
* lib/am/yacc.am (%BASE%.h): Remove (duplicate with the one
output by lang_yacc_target_hook).
* tests/yacc7.test: Try to recreate foo.h after its removal.
* tests/yacc8.test: Add `AM_YFLAGS = -d' and try to recreate
parse.h too.
Reported by Bernd Jendrissek.
For PR automake/317:
* Makefile.am (maintainer-check): Disallow `for f in $(FILES)',
suggest `list='$(FILES)'; for f in $$list' instead.
* lib/am/distdir.am (distdir): Adjust `for' usage.
* lib/am/texinfos.am (maintainer-clean-aminfo): Likewise.
* tests/dollar.test: New file.
* tests/Makefile.am (TESTS): Add dollar.test.
Reported by Eric Siegerman and Philip Fong.
* lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES): New variable.
(distclean): Use it.
(maintainer-clean): Delete autom4te.cache and
$(am__CONFIG_DISTCLEAN_FILES).
* tests/maintclean.test: New file.
* tests/Makefile.am (TESTS): Add maintclean.test.
Fix PR automake/326:
* automake.in (define_objects_from_sources): Calculate the result in
all conditions before passing this to subobjname to pick a name to
store the result in.
(subobjname): Expect a list of condition/value pairs as input.
Combine this list and use it as the key to determine the variable name.
* test/cond22.test: New file.
* tests/Makefile.am (TESTS): Add cond21.test
Paul Eggert [Thu, 30 May 2002 06:09:07 +0000 (06:09 +0000)]
Don't assume that egrep and fgrep exist, as POSIX 1003.1-2001 no
longer requires them.
* Makefile.am (maintainer-check): Use grep -E and grep -F instead
of egrep and fgrep. Omit unnecessary -E and -F.
Fix quoting typo -- "fgrep '\$${'" should have been "fgrep '$${'".
* lib/am/distdir.am (distdir): fgrep -> grep -F.
Use $(), not ${}, for Make variables.
* lib/am/texinfos.am (install-info-am, uninstall-info-am):
fgrep -> grep
* m4/make.m4 (AM_MAKE_INCLUDE): Likewise.
* tests/defs: Set FGREP and EGREP.
Paul Eggert [Thu, 30 May 2002 05:51:33 +0000 (05:51 +0000)]
(maintainer-check): Use grep -E and grep -F instead
of egrep and fgrep. Omit unnecessary -E and -F.
Fix quoting typo -- "fgrep '\$${'" should have been "fgrep '$${'".
For PR automake/323:
* m4/depend.m4: Missing comma.
* tests/gcj4.test: New file.
* tests/Makefile.am (TESTS): Add gcj4.test.
Reported by David Pashley.
* tests/defs (confiugre.in): Don't double-quote $me.
* tests/sinclude.test: Overwrite configure.in and use
`am__sinclude' instead of `sinclude' as package name.
Excercise `m4_sinclude' instead of `sinclude'.
* automake.in (conditional_implies_one_of): Rename as ...
(conditional_implies_any): ... this.
* tests/pluseq9.test: Exercise another case with the new
`C' variable.
Suggested by Raja R Harinath.
* automake.in (conditional_true_when): Return false if $WHEN == FALSE.
(conditional_is_redundant): Simplify.
(conditional_implies_one_of,
variable_not_always_defined_in_cond): New functions
(macro_define): Reject appends if the variable is not defined in
all conditions where `+=' applies.
(invert_conditions): Rewrite. Before this patch,
invert_conditions("A_TRUE B_TRUE", "A_TRUE B_FALSE", "A_FALSE")
would return ("A_FALSE B_TRUE", "A_FALSE B_TRUE"), which seems
wrong (these conditions implies "A_FALSE"). Now it outputs (),
which just means the input conditions cover all cases.
(variable_conditions_permutations): Never output FALSE conditions.
* tests/pluseq2.test, tests/pluseq3.test: Define data_DATA
in the CHECK_FALSE condition to fix the test.
* tests/pluseq5.test: Actually check the diagnostic.
* tests/pluseq9.test: New file.
* tests/Makefile.am (TESTS): Add pluseq9.test.
Fix for PR automake/322:
* automake.in (read_am_file): Rename $was_rule as $prev_state, and
set it with IN_RULE_DEF, IN_VAR_DEF, or IN_COMMENT as appropriate.
Handle comments continued by backslashes.
* tests/comment6.test: New file.
* tests/Makefile.am (TESTS): Add comment6.test.
Reported by Braden N. McDaniel.
2002-05-08 Charles Wilson <cwilson@ece.gatech.edu>
Alexandre Duret-Lutz <duret_g@epita.fr>
* lib/am/progs.am (clean-%DIR%PROGRAMS): If Libtool is used, clean
both `program$(EXEEXT)' and `program'; needed under Cygwin.
* tests/libtool3.test: New file.
* tests/Makefile.am (TESTS): Add libtool3.test.
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.