Akim Demaille [Sat, 24 Nov 2007 11:24:22 +0000 (12:24 +0100)]
Ternary operator in lib/am files.
* automake.in (&transform_token): New.
(&transform): Use it.
Support %KEY?TRUE:FALSE%.
(&make_paragraphs): Adjust the regexp to call %transform.
* lib/am/data.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am,
* lib/am/progs.am, lib/am/python.am, lib/am/scripts.am:
Use %KEY?TRUE:FALSE%.
* lib/am/inst-vars.am (am__strip_dir): Assign the result to f
to be more alike am__vpath_adj.
Adjust dependencies.
Ralf Wildenhues [Sun, 18 Nov 2007 15:23:52 +0000 (16:23 +0100)]
* tests/output13.test: New test.
* tests/Makefile.am: Adjust.
Prompted by report from Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00479.html>.
Ralf Wildenhues [Sun, 18 Nov 2007 14:30:01 +0000 (15:30 +0100)]
Fix signal handling in aclocal.
* aclocal.in (unlink_tmp): If invoked by a signal, note so
in verbose mode. Reinstall default signal handler and reraise,
to transport the interrupt information.
Ralf Wildenhues [Sat, 10 Nov 2007 10:11:21 +0000 (11:11 +0100)]
Run each test in a process-private subdirectory.
* tests/defs.in: Employ a trap to clean up at the end of the
test in case the test succeeded. This needs to be revisited
because we would like to keep the output of XPASSing tests.
Also, note when we were interrupted by a signal. Code taken
from Autoconf's _AC_INIT_PREPARE.
If $keep_testdirs is set, keep them even for successful tests.
* tests/Makefile.am (check-clean-local): New target. Remove all
tests subdirs, but also make them writable first. The latter
was already needed without per-test subdirs.
(distclean-local): Depend upon check-clean-local.
* tests/Makefile.in: Regenerate.
* tests/.cvsignore, tests/.gitignore: Adjust.
Ralf Wildenhues [Sat, 10 Nov 2007 09:20:08 +0000 (10:20 +0100)]
Fix default includes ordering to be `-I. -I$(srcdir) ...' again.
* automake.in (handle_compile): Put -I$(srcdir) before include
paths for config headers, as was done before Automake 1.10, but
keep uniquified list without multiple adjacent spaces.
* doc/automake.texi (Program variables): List include paths
in order.
* NEWS: Mention 1.10 regression.
* tests/stdinc.test: New test.
* tests/Makefile.am: Adjust.
* THANKS: Update.
Report by Kent Boortz.
Ralf Wildenhues [Thu, 8 Nov 2007 21:32:15 +0000 (22:32 +0100)]
Implement colorized test output.
* automake.in (handle_tests): Set COLOR depending on `color-tests'.
* configure.ac (AM_INIT_AUTOMAKE): Use `color-tests'.
* doc/automake.texi (Tests, Options): Document test results,
document new option, document AM_COLOR_TESTS.
* lib/Automake/Options.pm (_process_option_list): Handle it.
* lib/am/check.am (am__tty_colors): New variable. Enable colored
output if TERM is not dumb and depending on AM_COLOR_TESTS and
whether stdout is connected to a terminal.
(check-TESTS): Use am__tty_colors.
* NEWS: Mention color-tests.
* tests/color.test: New test.
* tests/Makefile.am: Adjust.
Ralf Wildenhues [Mon, 29 Oct 2007 19:45:48 +0000 (20:45 +0100)]
Accommodate for new macro AC_AUTOCONF_VERSION.
* aclocal.in (write_aclocal): Use AC_AUTOCONF_VERSION rather
than m4_PACKAGE_VERSION. Define the former if not defined.
* m4/amversion.in (AM_SET_CURRENT_AUTOMAKE_VERSION): Likewise.
* tests/missing4.test: Use AC_AUTOCONF_VERSION.
Ralf Wildenhues [Mon, 29 Oct 2007 19:40:38 +0000 (20:40 +0100)]
* doc/automake.texi (Program variables): Clarify that
Automake does not put DEFAULT_INCLUDES in AM_CPPFLAGS, but
passes it directly to compilation commands.
Jim Meyering [Tue, 9 Oct 2007 14:52:20 +0000 (14:52 +0000)]
Add lzma compression support.
* NEWS: Mention it.
* automake.in (handle_dist): Recognize dist-lzma.
(make_paragraphs): Map LZMA to dist-lzma.
* doc/automake.texi (Dist): Add dist-lzma.
(Options): Likewise.
* lib/Automake/Options.pm (_process_option_list):
* lib/am/distdir.am (dist-lzma): New rule.
(dist dist-all): Add command to create an lzma-compressed tarball.
(distcheck): Handle lzma-compressed tarballs just like the others.
* tests/defs.in: Test for lzma, too.
* tests/lzma.test: New file, based on nogzip.test.
* tests/Makefile.am (TESTS): Add lzma.test.
* tests/Makefile.in: Regenerate.
Suggestion from Karl Berry.
Ralf Wildenhues [Thu, 23 Aug 2007 04:35:44 +0000 (04:35 +0000)]
* tests/defs.in (required): For gcj, check whether `gcj -v'
works, to avoid broken installations without libgcj.spec.
Export $GCJ.
* tests/gcj4.test: Setting GCJ not needed any more.
* THANKS: Update.
Report by Jesse Chisholm.
Ralf Wildenhues [Thu, 9 Aug 2007 19:08:09 +0000 (19:08 +0000)]
* configure.ac: Actually require version 2.60 in the test for
Autoconf, and recommend it in the error messages.
* THANKS: Update.
Report by Robert Swafford.
* lib/am/configure.am (%?REGEN-ACLOCAL-M4%): New target
$(am__aclocal_m4_deps) without any dependencies, to avoid the
"deleted .m4 file" problem.
* tests/acloca22.test: New test.
* tests/Makefile.am: Update.
* NEWS: Update.
Ralf Wildenhues [Sat, 23 Jun 2007 08:30:46 +0000 (08:30 +0000)]
* aclocal.in (write_aclocal): Warn about autoconf
incompatibilities instead of making them fatal.
* tests/missing4.test: Adjust.
* NEWS: Update.
Problem reported by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-automake/2007-06/msg00010.html>.
Ralf Wildenhues [Thu, 29 Mar 2007 23:26:48 +0000 (23:26 +0000)]
* lib/mdate-sh (ls_command): Use -n when available to avoid
problems with spaces in user/group names.
* tests/mdate5.test: New test.
* tests/Makefile.am: Adjust.
Ralf Wildenhues [Thu, 29 Mar 2007 23:02:05 +0000 (23:02 +0000)]
* automake.in (handle_tests): Rewrite XFAIL_TESTS just like
TESTS, appending $(EXEEXT), so that matching continues to work
on w32.
* NEWS: Mention this.
* doc/automake.texi (EXEEXT, Extending): Update.
* tests/check7.test: New test.
* tests/Makefile.am: Adjust.
Bug report by Ed Hartnett.
Ralf Wildenhues [Thu, 29 Mar 2007 22:40:41 +0000 (22:40 +0000)]
* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Again search
the whole file, but use sed to reduce the line length.
Fixes 1.10 regression. Report by David Byron.
* THANKS, NEWS: Update.
Ralf Wildenhues [Wed, 28 Mar 2007 23:08:06 +0000 (23:08 +0000)]
* lib/depcomp (aix): Rewrite depmode in the spirit of the tru64
one. Fixes failure to catch dependencies with libtool and xlc
in case of enable_static=no (which is the default on AIX without
runtimelinking).
* tests/depcomp7.test: Run test once with --disable-shared and
once with --disable-static, to expose failure systematically.
* NEWS: Update.
Ralf Wildenhues [Wed, 28 Mar 2007 22:27:14 +0000 (22:27 +0000)]
* automake.in (scan_autoconf_config_files): Warn about leading
`./' in config file names.
* tests/canon-name.test: New test.
* tests/Makefile.am: Update.
* THANKS: Update.
Suggestion by Claudio Fontana.
Ralf Wildenhues [Wed, 28 Mar 2007 22:12:57 +0000 (22:12 +0000)]
* tests/yacc6.test: Add the generated headers to `BUILT_SOURCES'
as documented in the manual. Fixes parallel make failure.
Report by Dieter Jurzitza.
* THANKS: Update.
Paul Eggert [Tue, 26 Dec 2006 05:20:52 +0000 (05:20 +0000)]
* lib/install-sh (initialize_posix_glob): New var.
Use it instead of setting posix_glob inline.
(posix_glob): Use '?'/''/: instead of ''/yes/no, for convenience.
(cmpprog, CMPPROG): New vars, since we use cmp rather than the diff
of Akim's patch.
Use LC_ALL before invoking 'ls' when we depend on its output format.
Don't use awk; just use the shell's builtin features.
Clean up $dsttmp -C detects no installation is needed.
* tests/defs.in (is_newest): Renamed from is_younger; the new
name is more accurate. All uses changed.
(old_timestamp): New var.
* tests/instsh2.test: Rewrite to avoid the need for sleeping.
2006-12-25 Akim Demaille <akim@epita.fr>
* lib/install-sh: Implement install-sh -C.
(This patch is the remaining part of the patch proposed in
<http://lists.gnu.org/archive/html/automake-patches/2006-10/msg00077.html>.)
(usage): Document it.
(copy_on_change): New var.
* tests/defs.in (is_younger): New function.
* tests/instsh2.test: Check install-sh -C.
Paul Eggert [Mon, 25 Dec 2006 06:30:28 +0000 (06:30 +0000)]
* lib/install-sh: Fix typo in previous patch for handling --.
Use more-consistent style for ';;'.
Prefer || to if-then-else-:.
* tests/install2.test: Rework to avoid set -e problems.
2006-12-24 Akim Demaille <akim@epita.fr>
Simplify install-sh and its test. This shouldn't change any behavior.
(This patch is a subset of the patch proposed in
<http://lists.gnu.org/archive/html/automake-patches/2006-10/msg00077.html>.)
* lib/install-sh (usage): Use usual GNU style.
(dstarg): Rename as...
(dst_arg): this for consistency.
Simplify quoting of assignments.
Sort them.
Don't use '\' to continue commands: && suffices.
Remove useless "continue" in the argument processing,
and factor the shifts.
* tests/defs.in: Some improvements to make it set -e clean.
Use the traditional ":" trick to protect loops from being empty.
Remove an empty straightforward piece of code prepared to define
additional variables.
Use test instead of [], for consistency.
* tests/install2.test: Use set -e, to simplify code.
Ralf Wildenhues [Sun, 12 Nov 2006 18:02:41 +0000 (18:02 +0000)]
* doc/Makefile.am: Use $(MAKE) $(AM_MAKEFLAGS) for building
amhello, to prevent gmake from invoking make with MAKEFLAGS
it does not understand.
Report by Patrick Welche.
Ralf Wildenhues [Mon, 16 Oct 2006 05:24:17 +0000 (05:24 +0000)]
* lib/am/depend2.am (%SOURCEFLAG%): New substitution, goes
right before the expanded source file name.
* automake.in (%sourceflags): New global: per-extension flag
to denote that the next compiler argument is the source file.
(scan_autoconf_traces): Trace AC_FC_SRCEXT; initialize
%sourceflags accordingly.
(handle_single_transform): Store source file extension in...
(%lang_specific_files): ...this and...
(handle_languages): ...adjust here. Pass flag in SOURCEFLAG.
* doc/automake.texi (Optional): Add AC_FC_SRCEXT.
(Fortran 9x Support): Update.
* tests/fort2.test: New test.
* tests/Makefile.am: Adjust.
* NEWS, THANKS: Update.
Suggested by Steven G. Johnson.
Ralf Wildenhues [Mon, 16 Oct 2006 05:13:02 +0000 (05:13 +0000)]
For PR automake/480.
* automake.in (lang_f77_rewrite, lang_fc_rewrite)
(lang_ppfc_rewrite, lang_ppf77_rewrite, lang_ratfor_rewrite):
return `lang_sub_obj' to support subdir-object mode for the
Fortran dialects.
* tests/fort4.test, tests/fort5.test: New tests.
* tests/Makefile.am: Update.
* NEWS, THANKS: Update.
Report by Davyd Madeley and Shannon L. Brown.
Ralf Wildenhues [Sat, 14 Oct 2006 17:33:27 +0000 (17:33 +0000)]
* automake.in: For preprocessed assembler, add `$(DEFS)
$(DEFAULT_INCLUDES) $(INCLUDES)' to the compile rule.
* doc/automake.texi (Assembly Support): Update.
* NEWS: Update.
Suggested by Thomas Schwinge and Ralf Corsepius.
Ralf Wildenhues [Sat, 14 Oct 2006 17:26:43 +0000 (17:26 +0000)]
For PR automake/492.
* automake.in (output_flag): Set to `-o' for Assembler and
preprocessed Assembler, assuming that all understand `-c -o'.
* THANKS, NEWS: Update.
* tests/subobj10.test: New test.
* tests/Makefile.am: Update.
Report by Thomas Schwinge.
Ralf Wildenhues [Sat, 14 Oct 2006 17:20:36 +0000 (17:20 +0000)]
* automake.in (%_macro_for_cond): New variable.
(cond_stack_if): Use it for better error message about
missing dependency tracking conditionals.
* tests/asm2.test: New test, modeled after asm.test.
* tests/Makefile.am: Adjust.
Report by Ralf Corsepius.
Ralf Wildenhues [Sat, 14 Oct 2006 17:17:22 +0000 (17:17 +0000)]
* doc/automake.texi (Options): `no-dependencies' is similar
to `--ignore-deps', not `--include-deps'.
* m4/as.m4 (AM_PROG_AS): If `no-dependencies', do not invoke
_AM_DEPENDENCIES.
* tests/nodep2.test: New test.
* tests/Makefile.am: Adjust.
Ralf Wildenhues [Sat, 14 Oct 2006 17:12:50 +0000 (17:12 +0000)]
* automake.in (handle_LIBOBJS_or_ALLOCA): If we are in the
LIBOBJDIR, then we should not add a DEPDIR prefix.
* tests/pr401.test: Update test.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
Report by Jim Meyering and Eric Blake.
Ralf Wildenhues [Sat, 14 Oct 2006 17:10:39 +0000 (17:10 +0000)]
* lib/depcomp (gcc3): Put dependency extraction flags before the
`-c' flag, so they appear at the same position as in %FASTDEP%
mode in depend2.am. Fixes build failure for FreeBSD's c89,
which ignores unknown options only after the first non-option.
Bug report against M4 by Nelson H. F. Beebe.
Ralf Wildenhues [Sat, 14 Oct 2006 17:02:13 +0000 (17:02 +0000)]
* automake.in ($seen_gettext_intl): New variable.
(handle_gettext): Consider it.
(scan_autoconf_traces): Add AM_GNU_GETTEXT_INTL_SUBDIR to the list.
Set $seen_gettext_intl when it is seen.
* doc/automake.texi (gettext, Optional): Update.
* tests/gettext3.test: New test.
* tests/Makefile.am: Update.
* lib/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
which incorrectly sets the mode of an existing destination
directory. In some cases the unpatched install-sh could do the
equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
system. We hope this is rare in practice, but it's clearly worth
fixing. Problem reported by Alex Unleashed in
<http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
Also, don't bother to check for -m bugs unless we're using -m;
suggested by Stepan Kasal.
* lib/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
which incorrectly sets the mode of an existing destination
directory. In some cases the unpatched install-sh could do the
equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
system. We hope this is rare in practice, but it's clearly worth
fixing. Problem reported by Alex Unleashed in
<http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
Also, don't bother to check for -m bugs unless we're using -m;
suggested by Stepan Kasal.
* lib/am/check.am (check-TESTS): Fix matching of XFAIL_TESTS
against currently running test for the first and last element
of $(TESTS): add spacing so Solaris make does VPATH expansion
on these words, too.
* tests/check6.test: Update.
Paul Eggert [Thu, 31 Aug 2006 04:49:24 +0000 (04:49 +0000)]
* lib/am/depend2.am (?GENERIC?%EXT%.o, ?!GENERIC?%OBJ%): Likewise.
Abbreviate output a bit by not bothering to quote the .Po file
name (the quoting doesn't suffice in general anyway), and by not
bothering to remove junk .Tpo files (as they'll be removed later).
This also lets 'make' run faster by avoiding a subshell.