* lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
(?GENERIC?%EXT%.lo): Use `mv -f' instead of `mv' in FASTDEP mode.
Suggested by Matthias Andree.
* lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
(?GENERIC?%EXT%.lo): Hide the if/then/else machinery for FASTDEP.
Just echo the gcc command.
Suggested by Karl Berry.
* lib/am/depend2.am (?GENERIC?%EXT%.lo): Do not use
`test -f foo || echo $(srcdir)/` to emulate a VPATH search when
outputing suffix rules. This follows 2003-02-25's change.
* lib/am/lex.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
* lib/am/yacc.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
* lib/am/depend2.am (?GENERIC?%EXT%.lo): Do not use
`test -f foo || echo $(srcdir)/` to emulate a VPATH search when
outputing suffix rules. This follows 2003-02-25's change.
* lib/am/lex.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
* lib/am/yacc.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
* automake.texi (Requirements) <AC_CONFIG_FILES>: Files listed
with AC_CONFIG_FILES are cleaned by `make distclean'. Don't
pretend otherwise.
Reported by Rafael Laboissiere.
* automake.texi (Emacs Lisp): Instruct people to use lisp_DATA
instead of lisp_LISP when they don't want byte-compilation.
Don't mention ELCFILES anymore.
* automake.in (handle_data): Allow lisp_DATA.
* tests/lisp5.test: New file.
* tests/Makefile.am (TESTS): Add lisp5.test.
* automake.in (handle_emacs_lisp): Don't build *.elc files
if ELCFILES was set empty.
* tests/lisp4.test: New file.
* tests/Makefile.am (TESTS): Add lisp4.test.
Reported by Simon Josefsson.
* lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj): Do not
use the `test -f foo || echo $(srcdir)/` to emulate a VPATH search
when outputing suffix rules.
* lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.dvi)
(?GENERIC?%SOURCE_SUFFIX%.pdf): Likewise.
Suggested by Bruno Haible.
* lib/am/texibuild.am: Don't remove the target info files. Instead,
back up and restore them if makeinfo fails.
* tests/txinfo20.test: New file.
* tests/Makefile.am (TESTS): Add txinfo20.test.
* lib/am/texinfos.am (install-info-am, uninstall-info-am): Install
DJGPP-style *.iNN info files.
(maintainer-clean-aminfo): Rewrite using the same pattern
as in uninstall-info-am.
* lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Erase
DJGPP-style *.iNN info files before running $(MAKEINFO).
* tests/txinfo19.test: New file.
* tests/Makefile.am (TESTS): Add txinfo19.test.
Fix for PR automake/381:
* automake.in (handle_gettext): Do not print diagnostics
about po/ and intl/ missing from SUBDIRS if po/ does not
exist. Warn if `SUBDIRS = intl' is used although libintl
is 'external'.
* tests/gettext.test: Make sure diagnostics are not output
when po/ does not exist.
* tests/gettext2.test: Test for unwanted intl/.
PR from Alexander Turbov, fix suggested by Bruno Haible.
2003-02-10 Richard Dawe <rich@phekda.freeserve.co.uk>
* bootstrap: Don't require support for symlinks - copy instead.
Override $SHELL with DJGPP's bash, if running DJGPP. Substitute
@SHELL@ in automake.in and aclocal.in. This makes the setting
of SHELL work for DJGPP.
For PR automake/385:
* lib/depcomp (makedepend): Strip any libtool call, before
running makedepends.
* tests/depcomp4.test: New file.
* tests/Makefile.am (TESTS): Add it.
Reported by Jeff Squyres.
Related to PR automake/385:
* lib/depcomp (dashmstdout): Do not use `-o /dev/null', or gcc will
write dependencies to /dev/null. `-o /dev/null' was added
on 2002-06-13 just because I tried to replace `-o foo.o' by something
else and didn't thought about removing it entirely.
* tests/depcomp3.test: New file.
* tests/Makefile.am (TESTS): Add it.
* m4/init.m4 (_AC_AM_CONFIG_HEADER_HOOK): Recompute
indexes of header files so we create stamp files with
the right numbers when config.status is run on some headers.
* tests/stamph2.test: Check for this.
Reported by Sander Niemeijer.
* automake.in (vars_scanned): Move near traverse_variable_recursively.
(traverse_variable_recursively,
traverse_variable_recursively_worker): Accept a $COND_FILTER argument
to filter out conditions during recursion. Don't recurse into
undefined variables. Don't pass empty results to &FUN_COLLECT.
(value_to_list): Remove, was used by
variable_value_as_list_recursive_worker only.
(variable_value_as_list_recursive_worker): Rewrite using
traverse_variable_recursively. Remove the $parent argument.
(variable_value_as_list_recursive,
variable_loc_and_value_as_list_recursive): Adjust calls
to variable_value_as_list_recursive_worker. Don't reset
%vars_scanned.
* tests/cond3.test: Don't expect empty helper variables,
we don't output them anymore.
* tests/cond30.test: Use an undefined variable.
* automake.in (handle_programs): Strip $(EXEEXT) before
calling &check_canonical_spelling.
* tests/exeext.test: Make sure we don't use a
maude3__EXEEXT__OBJECTS variable.
* lib/Automake/DisjConditions.pm (_permutations_worker)
(permutations): Remove, so that people aren't tempted to use it.
* lib/Automake/tests/DisjConditions.pl (tests_permutations): Remove.
* automake.in (traverse_variable_recursively,
traverse_variable_recursively_worker): Pass one merged Condition
instead of a stack of conditions to &FUN_STORE and &FUN_COLLECT.
(transform_variable_recursively, define_objects_from_sources)
(handle_lib_objects, variable_conditions_recursive): Adjust usage.
* automake.in (handle_lib_objects): Compute _DEPENDENCIES variables
using transform_variable_recursively instead of
variable_conditions_recursive and variable_value_as_list_recursive
to avoid combinatorial explosion.
(handle_lib_objects_cond): Merge into handle_lib_objects.
* tests/cond11.test: Don't grep internal details in Makefile.in,
run $MAKE to make sure the resulting Makefile runs as expected.
* tests/cond29.test: Also exercise conditional _LDADD.
* tests/cond31.test, tests/cond32.test: New files.
* tests/Makefile.am (TESTS): Add tests/cond31.test and
tests/cond32.test.
Fix for PR automake/352:
* automake.in (transform_variable_recursively): If the destination
and the source variables are the same, delete the source variable
before defining the destination variable.
(handle_programs): Strip any $(EXEEXT) suffix from $one_file,
or this will confuse handle_source_transform.
(append_exeext): Rewrite using transform_variable_recursively.
* tests/cond29.test, tests/cond30.test: New files.
* tests/exeext.test: Run ./configure and make, this uncovered
the above handle_programs issue.
* tests/Makefile.am (TESTS): Add cond29.test and cond20.test.
* automake.in (@substfroms, @substtos): Move near
traverse_variable_recursively.
(traverse_variable_recursively, traverse_variable_recursively_worker):
New functions, extracted from define_objects_from_sources.
(define_objects_from_sources): Rewrite using
traverse_variable_recursively.
(handle_source_transform): Use variables_conditionally_defined
instead of calling variable_conditions_recursive directly.
Adjust the call to define_objects_from_sources; there is no need
to reset @substtos, @substfroms, and %vars_scanned now.
(variable_conditions_recursive): Rewrite using
traverse_variable_recursively.
(variable_conditions_recursive_sub): Remove.
(variable_conditionally_defined): Fix condition comparison (the
consequence was that DIST_SUBDIRS was always output).
* lib/Automake/Condition.pm (merge): Allow merging several
conditions at once.
* automake.texi (Python): Explain that directory variables start
with either ${prefix} or ${exec_prefix}, and point to the
`Installation Directory Variables' section of the Autoconf manual.
* lib/am/distdir.am (top_distdir, distdir): Define these
variables only in top level Makefile. Redefine $(top_distdir)
as $(distdir).
(distdir): Fix passing of $(top_distdir) to sub-makes.
* automake.in (handle_dist): Do not define the DISTDIR and
TOP_DISTDIR transformations. We don't need them anymore.
* automake.texi (Dist): Reorder the dist-hook section, and move
the DIST_SUBDIRS paragraph earlier. Document distdir and
top_distdir.
* tests/subpkg.test: Update to check for $(distdir) and
$(top_distdir).
Rename more files to accomodate 8+3 file systems, and adjust the
vocabulary at the same time: AM_CONDITIONAL defines "conditionals",
and we call "condition" a conjunction of "conditionals".
* lib/am/Conditional.pm: Rename to lib/am/Condition.pm.
* lib/am/tests/Conditional.pl: Rename to lib/am/tests/Condition.pl.
* lib/am/ConditionalSet.pm: Rename to lib/am/DisjConditions.pm.
* lib/am/tests/ConditionalSet.pl: Rename to
lib/am/tests/DisjConditions.pl
* lib/am/Conditional.pm (condition_negate): Rename to ...
* lib/am/Condition.pm (conditional_negate): ... this.
* automake.in: Adjust references to Condition and DisjConditions.
(check_ambiguous_conditional, conditional_ambiguous_p): Rename to ...
(check_ambiguous_condition, condition_ambiguous_p): ... these.
* automake.texi (Conditional Programs): Show a sample Makefile.am.
Remind $(EXEEXT) must be appended to configure substitutions.
Show how Automake conditionals can be used instead.
* tests/exeext.test (check_PROGRAMS): Make sure EXEEXT is also
appended to conditionally defined programs.
Jim Meyering [Fri, 17 Jan 2003 14:50:42 +0000 (14:50 +0000)]
Accept --help and --version, and lots of syntactic clean-up.
Use consistent indentation, two spaces per level.
(scriptversion): New variable.
Change initializations like `variable=""' to `variable='.
(usage): New variable.
Use `test', not `['.
Use `test -z "$var"', not `[ x"$var" = x ]'.
Use `test -n "$var"', not `[ x"$var" != x ]'.
Alphabetize case entries.
Accept --help and --version options.
Remove unnecessary `else :' clauses.
Add a `Local variables' eval block to help emacs users update
the time-stamp variable added above.
Mostly from Karl Berry.
* m4/python.m4 (AM_PATH_PYTHON): Query distutils for `pythondir'
or `pyexecdir', for the sake of 64-bit distributions that usually
use lib64/ instead of lib/. Fall back to the default directory
if it doesn't work.
Suggested by Gwenole Beauchesne.
For PR automake/382:
* automake.texi (Yacc and Lex): Document `AM_YFLAGS = -d'.
Explain BUILT_SOURCES is usually needed in this case.
Reported by William S Fulton.
Rename some files for the sake of 8+3 file systems.
* tests/aclocali.test: Rename to tests/aclocal.test.
* tests/aclocali1.test: Rename to tests/aclocal2.test.
* tests/aclocalii.test: Rename to tests/aclocal3.test.
* tests/acoutput.test: Rename to tests/acoutpt.test.
* tests/acoutput2.test: Rename to tests/acoutpt2.test.
* tests/acouttbs.test: Rename to tests/acoutbs.test.
* tests/acouttbs2.test: Rename to tests/acoutbs2.test.
* tests/autoheader.test: Rename to tests/autohdr.test.
* tests/autoheader2.test: Rename to tests/autohdr2.test.
* tests/condincl.test: Rename to tests/condinc.test.
* tests/condincl2.test: Rename to tests/condinc2.test.
* tests/distcommon.test: Rename to tests/distcom.test.
* tests/distcommon2.test: Rename to tests/distcom2.test.
* tests/distcommon3.test: Rename to tests/distcom3.test.
* tests/installsh.test: Rename to tests/instsh.test.
* tests/installsh2.test: Rename to tests/instsh2.test.
* tests/instdata.test: Rename to tests/instdat.test.
* tests/instdata2.test: Rename to tests/instdat2.test.
* tests/libobj12b.test: Rename to tests/libobj13.test.
* tests/link_f_c.test: Rename to tests/link_fc.test.
* tests/link_f_c_cxx.test: Rename to tests/link_fccxx.test.
* tests/link_f_cxx.test: Rename to tests/link_fcxx.test.
* tests/nodefine.test: Rename to tests/nodef.test.
* tests/nodefine2.test: Rename to tests/nodef2.test.
* tests/required.test: Rename to tests/reqd.test.
* tests/required2.test: Rename to tests/reqd2.test.
* tests/sourcesub.test: Rename to tests/srcsub.test.
* tests/sourcesub2.test: Rename to tests/srcsub2.test.
* tests/specflags.test: Rename to tests/specflg.test.
* tests/specflags2.test: Rename to tests/specflg2.test.
* tests/specflags3.test: Rename to tests/specflg3.test.
* tests/specflags6.test: Rename to tests/specflg6.test.
* tests/specflags7.test: Rename to tests/specflg7.test.
* tests/specflags8.test: Rename to tests/specflg8.test.
* tests/specflags9.test: Rename to tests/specflg9.test.
* tests/subdircond.test: Rename to tests/subcond.test.
* tests/subdircond2.test: Rename to tests/subcond2.test.
* tests/subdircond3.test: Rename to tests/subcond3.test.
* tests/texinfo.test: Rename to tests/txinfo.test.
* tests/texinfo2.test: Rename to tests/txinfo2.test.
* tests/texinfo3.test: Rename to tests/txinfo3.test.
* tests/texinfo4.test: Rename to tests/txinfo4.test.
* tests/texinfo5.test: Rename to tests/txinfo5.test.
* tests/texinfo6.test: Rename to tests/txinfo6.test.
* tests/texinfo7.test: Rename to tests/txinfo7.test.
* tests/texinfo8.test: Rename to tests/txinfo8.test.
* tests/texinfo9.test: Rename to tests/txinfo9.test.
* tests/texinfo10.test: Rename to tests/txinfo10.test.
* tests/texinfo13.test: Rename to tests/txinfo13.test.
* tests/texinfo16.test: Rename to tests/txinfo16.test.
* tests/texinfo17.test: Rename to tests/txinfo17.test.
* tests/texinfo18.test: Rename to tests/txinfo18.test.
* tests/Makefile.am (TESTS): Adjust.
* ChangeLog.1996: Rename to ChangeLog.96.
* ChangeLog.1998: Rename to ChangeLog.98.
* ChangeLog.2000: Rename to ChangeLog.00.
* ChangeLog.2001: Rename to ChangeLog.01.
* Makefile.am (EXTRA_DIST): Adjust.
Reported by Richard Dawe.
* lib/am/distdir.am (distcheck): '=' is not valid in DOS filenames.
Use '_build' and '_inst' instead of '=build' and '=inst'.
* tests/man2.test: Reflect change automake: check for files in
'_build' and '_inst' directories instead of '=build' and '=inst'.
* lib/am/distdir.am (distcheck): '=' is not valid in DOS filenames.
Use '_build' and '_inst' instead of '=build' and '=inst'.
* tests/man2.test: Reflect change automake: check for files in
'_build' and '_inst' directories instead of '=build' and '=inst'.
Use `_dirstamp' when the file-system doesn't support `.dirstamp'.
* m4/lead-dot.m4: New file.
* m4/Makefile.am (dist_m4data_DATA): Add lead-dot.m4
* m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_SET_LEADING_DOT.:
* m4/depend.m4 (AM_SET_DEPDIR): Require AM_SET_LEADING_DOT. Define
DEPDIR using am__leading_dot.
* automake.in (require_build_directory): Define am__dirstamp, a new
variable for the dirstamp basename, based on am__leading_dot.
* tests/subobj6.test: Move all `test -f' into Makefiles, so we can
use $(am__dirstamp).
Reported by Richard Dawe.
* tests/gnits2.test, tests/pr300-prog.test, tests/transform.test:
Move all `test -f' into Makefiles, so we can honor $(EXEEXT) when
testing for programs.
Reported by Richard Dawe.
* Makefile.am (maintainer-check): Suggest using $sleep instead of
sleep 2.
* tests/defs.in (sleep): New variable.
* tests/asm.test, tests/confsub.test, tests/lisp3.test,
tests/texinfo16.test, tests/warnopts.test, tests/yaccvpath.test:
Use $sleep instead of sleep 2, to work around timestamp
inconsistencies in Windows.
Reported by Richard Dawe.
* Makefile.am (maintainer-check): Do not require SHELL=/bin/sh
after $MAKE -e.
* tests/ansi3.test, tests/ansi5.test, tests/cond22.test,
tests/man2.test, tests/subobj3.test, tests/suffix8.test,
tests/suffix11.test: Do not set SHELL=/bin/sh after $MAKE -e.
$SHELL is overridden by tests/defs, so it won't hurt even
if $MAKE -e uses the $SHELL envvar.
* tests/ansi.test, tests/insh2.test, tests/texinfo.test,
tests/texinfo8.test: Use SHELL=$SHELL, not SHELL=/bin/sh.
Reported by Richard Dawe.
Build elisp files all at once instead of one by one.
* automake.in (handle_emacs_lisp): Define am__ELFILES. Add
elc-stamp to all's dependencies.
* lib/am/lisp.am (elc-stamp): New rule, build all *.elc files.
(.el.elc): Rewrite to call elc-stamp if $@ doesn't exist.
(clean-lisp): Clean elc-stamp.
* lib/elisp-comp: Reindent. Erase the temporatry directory
from a trap. Propagate Emacs's exit status.
* tests/lisp3.test: New file.
* tests/Makefile.am (TESTS): Add lisp3.test.
Reported by Ryan T. Sammartino.
* tests/defs.in: Substitute aclocaldir instead of running
the installed aclocal. Otherwise Libtool and Gettext
tests get skipped when aclocal doesn't preexist.
Reported by Imacat.
* tests/listval.test, tests/suffix2.test: Remove pointless -I
argument to aclocal.
* lib/Automake/ChannelDefs.pm: New file.
* lib/Automake/Makefile.am (dist_perllib_DATA): Add ChannelDefs.pm.
* automake.in: Move all "register_channel" calls to ChannelDefs.pm.
(prog_error, error, fatal, verb, switch_warning, parse_WARNINGS,
parse_warnings): Move to ChannelDefs.pm.
(usage): Move the warning list to Automake::ChannelDefs::usage
and call it.
(set_strictness): Move channel setings to
Automake::ChannelDefs::set_strictness and call it.
* automake.texi (ANSI): Since Autoconf 2.54, LIBOBJ and LTLIBOBJ
no longer have to be rewritten in order to support deansification.
(Tests): Link to the DejaGnu manual.
(Optional): Comment out FIXME.
(Complete, A Library, LIBOBJS): Use $(LIBOBJ) and $(ALLOCA)
instead of @LIBOBJ@ and @ALLOCA@.
(Sources): Typo.
* lib/am/texinfos.am (install-info-am, uninstall-info-am): Strip
directories from info filenames.
* tests/texinfo13.test: Make sure main.info gets installed
as $(infodir)/main.info.
* automake.in (handle_dist): Do not define %GETTEXT% if the user
is using $seen_gettext_external, this distcheck won't run
`./configure' with a meaningless `--with-included-gettext'.
* tests/gettext.test: Make sure distcheck uses --with-included-gettext.
* tests/gettext2.test: Make sure distcheck does not use
--with-included-gettext.
* m4/ccstdc.m4: Define am_cv_prog_cc_stdc for backward
compatibility and diagnose the use of AM_PROG_CC_STDC.
* automake.texi (Public macros) <AM_PROG_CC_STDC>: Remove
documentation, this macro is no longer supported.
Reported by Kevin Ryde.
* automake.in (handle_languages): Test $objdir, not $srcdir, to
decides whether a _.c file is in a subdirectory and has to be
cleaned separately.
Reported by Kevin Ride.
* automake.texi (Options): Some English nits from Eric Siegerman.
(Sources): Rewrite the introduction and move the example to ...
(Built sources example): ... this separate node.
* tests/depcomp2.test: Pass CC='gcc' as an argument to ./configure
not in the environment. Otherwise the test will fail when
run with ksh and VERBOSE=x.
Reported by Paul Jarc.