Paul Eggert [Tue, 13 Sep 2005 23:14:57 +0000 (23:14 +0000)]
* doc/automake.texi (limitations on file names): New section.
* lib/install-sh: Rewrite to support '*' in file names.
Also, tune so that we don't invoke so many commands in the usual case.
* tests/instspc.test: The "*" test is now fixed.
* lib/Automake/Variable.pm (require_variables): Mention aclocal's
search path when suggesting to add a macro in configure.ac.
People are confused when Automake suggests adding a macro (such as
AC_PROG_LIBTOOL) that is already in configure.ac.
* automake.in (require_file_internal): Suggest `automake --add-missing'
for missing files that can be installed.
* tests/library3.test: Adjust.
* tests/instspc.test: Major rewrite to test for many other
problematic file names, e.g., '$', '"', '('. Automake and
Autoconf can't handle many of them, so do not report a failure
if the usual candidates show up.
* automake.in (make_paragraphs): Do not define %TOPDIR%, now that
lib/am/header-vars.am no longer uses it.
* lib/am/libtool.am (distclean-am, distclean-libtool): Define
if TOPDIR_P is true, not TOPDIR.
Suggested by Stepan Kasal.
* lib/mkinstalldirs: Fix support for directory name with spaces if
`mkdir -p' does not work.
* tests/Makefile.am (TESTS): Add mkinst3.test.
* tests/mkinst3.test: New file.
Report from Noah Friedman.
* lib/mdate-sh: Avoid infinite loop with GNU ls when TIME_STYLE is set.
* tests/txinfo28.test: Set TIME_STYLE.
Report from Vincent Lefevre and James Youngman.
* lib/Automake/Variable.pm (define, _new): Remember the helper
variable created for the last conditional += on each variable, and
only append further += in the same condition to this last helper
variable, not to older helper variables. This way the order of
the items appended to the variable is preserved.
* tests/cond21.test: Adjust.
* tests/cond38.test: New file.
* tests/Makefile.am (TESTS): Add cond38.test.
Report from Ed Hartnett.
* automake.in (handle_footer): Do not output an unformatted
definition of SOURCES, it is already done correctly in
generate_makefile. This superfluous definition introduced long
lines in some Makefiles, hence breakages in tools with a limited
line length. Report from Mathias Froehlich.
* lib/am/texibuild.am (?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%):
Do not backup any file if makeinfo is not installed.
* lib/missing (makeinfo): Do not touch a missing info file.
* tests/txinfo30.test: New file.
* tests/Makefile.am (TESTS): Add txinfo30.test.
Report from Bob Proulx.
Fix PR automake/461:
* automake.in (require_build_directory): Canonize directories with
different name, such as `foo/bar' and `./foo//bar'.
* tests/subobj9.test: Augment to test that.
Report from Tom Tromey.
Support for remote LIBOBJS (and friends) with subdir-objects.
Fixes PR automake/401.
* automake.in (config_libobj_dir): New variable.
(scan_autoconf_traces): Set config_libobj_dir from AC_CONFIG_LIBOBJ_DIR.
(handle_LIBOBJS_or_ALLOCA, require_libsource_with_macro): New functions.
(handle_LIBOBJS, handle_ALLOCA): Use them. Adjust location of
dependency files, possibly in a subdirectory.
* tests/pr401.test, tests/pr401b.test, tests/pr401c.test: New tests.
* tests/Makefile.am (TESTS): Add them.
* doc/automake.texi (Optional) <AC_CONFIG_LIBOBJ_DIR>: Document.
(LIBOBJS): Document changes in behaviour of
LIBOBJS, ALLOCA, LTLIBOBJS & LTALLOCA in the presence of
subdir-objects and an invocation of AC_CONFIG_LIBOBJ_DIR.
* doc/automake.texi (Uniform): Use xmldir instead of htmldir as
example, since the GCS now define htmldir.
(Auxiliary Programs): Mention config-ml.in and symlink-tree.
Give a URL for texinfo.tex.
(Public macros): Sort alphabetically, and move obsolete macros...
(Obsolete macros): ... here.
Prompted by Karl Berry.
* lib/am/lisp.am ($(am__ELCFILES)): Prevent races if the recover
rule is run with `make -j'.
* doc/automake.texi (Multiple Outputs): Adjust.
* tests/lisp6.test: Augment it.
* tests/lisp8.test: New file.
* tests/Makefile.am (TESTS): Add lisp8.test.
Suggested by Bruno Haible.
* lib/am/lisp.am ($(am__ELCFILES)): Do not attempt to recover
a missing *.elc file if it cannot be created because emacs does
not exist.
* tests/lisp7.test: New file.
* tests/Makefile.am (TESTS): Add lisp7.test.
Report from Greg Schafer.
* aclocal.in (scan_configure_dep, scan_file): Include file names
are relative to the directory of configure.ac, not to the
directory of the file doing the include. Remove code for this
latter case.
* tests/acloca13.test: Run distcheck and make sure all macros are
actually distributed.
For PR automake/450:
* aclocal.in (write_aclocal, trace_used_macros): Do not add/remove
acinclude.m4 and configure.ac to the include map in these two
places ...
(strip_redundant_includes): ... do it here. This completes the
previous change from 2005-03-01, that did not update
write_aclocal.
* tests/acloca19.test: Augment.
Report from Peter Breitenlohner.
Fix for PR automake/450:
* aclocal.in (trace_used_macros): Do not explicitly trace files
included by configure.ac.
* tests/acloca19.test: New file.
* tests/Makefile.am (TESTS): Add acloca19.test.
Report from Peter Breitenlohner.
* doc/automake.texi (A Library, Libtool Libraries): Show how to link
a program with a static or libtool library.
(Program and Library Variables): Make clearer that _LDADD and
_LIBADD may also list libraries.
Prompted by a mail from Bruce Korb.
* doc/automake.texi (Alternative): Show how to rewrite nobase_
variables using custom directory variables, and link to node
Uniform. Suggested by Leonardo Boiko.
* doc/automake.texi (Flag Variables Ordering, User Variables):
Make clearer who the maintainer is, and that he can AC_SUBST AM_
variables in configure.ac. Suggested by Norman Gray.
(Uniform, Public macros, Libtool Issues, Java Support,
Conditionals): Use `---' for em dash, and stick them to the
enclosing text.
* doc/automake.texi: Reword a few sentences to fix all underflow
and overflow warnings during `make dvi'.
(Auxiliary Programs) <configure.guess, config.sub>: Update URL.
(Public macros) <AM_WITH_DMALLOC>: Likewise.
* doc/automake.texi (Hard-Coded Install Paths): New node.
(Extending, Extending aclocal, Python): Link to it.
(Extending): Don't show how to install a file in /etc/ directly,
this is insane.
* automake.in (read_am_file): Define variable containing long
lines as VAR_PRETTY to work around tools with limited input width.
* tests/longlin2.test: New file.
* tests/Makefile.am (TESTS): Add it.
Report from Albert Chin.
Fix for PR automake/447:
* lib/depcomp (tru64) [libtool]: Also check for $dir.libs/$base.o.d.
Report from Mathias Doreille. Add some old comments from
Nicolas Joly for reference.
* aclocal.in (usage, parse_arguments): New --dry-run and --diff
options.
(install_file, write_aclocal): Honor --dry-run and --diff.
* doc/automake.texi (aclocal options): Document --dry-run and --diff.
(Serials): Mention --diff.
* lib/Automake/FileUtils.pm (handle_exec_errors): Accept an
$expected_exit_code argument.
(xsystem): Take a list of arguments, not a string.
* tests/acloca18.test: Use --dry-run and --diff.
Suggested by Paul Eggert.
* doc/automake.texi (aclocal options, Macro search path,
Extending aclocal, Local Macros, Serials, Future of aclocal): Make
these subsection of ...
(Invoking aclocal): ... this.
* aclocal.in ($serial_line_rx): Allow trailing garbage after the
serial number.
(scan_file): Explicitly mark the "ill-formed serial" message
as a warning.
* doc/automake.texi (aclocal options, Local Macros): Link to...
(Serials): ... this new section.
* lib/elisp-comp: Use `(exit N); exit N', not `(exit N); exit';
see 2004-12-17.
* lib/mdate-sh, lib/py-compile, lib/ylwrap: Exit with nonzero
status if a write failure occurs with --help or --version option,
as below.
Preliminary support for `aclocal --install'.
This still lacks #serial support.
* aclocal.in (reset_maps, install_file): New functions.
(write_aclocal): Copy files if --install.
(usage, parse_arguments): Recognize --install.
("MAIN"): Start aclocal again if some file were installed.
* tests/acloca10.test: Augment to test --install.
* tests/aclocal.in, tests/defs.in: Add support for
ACLOCAL_TESTSUITE_FLAGS, used by acloca10.test.
* doc/automake.texi (aclocal options, Local Macros): Document
--install.
(Future of aclocal): Adjust.
Akim Demaille [Mon, 24 Jan 2005 17:03:54 +0000 (17:03 +0000)]
* lib/Automake/FileUtils.pm: Rename filename as file_name to be
consistent with the terminology of the GNU coding standards.
From Paul Eggert.
(update_file): Accept a $force argument, so that --force always
updates the time stamps.
* doc/automake.texi (How the Linker is Chosen): Explain how the
linker is chosen without diagram, and update to match the code.
Suggestion from Adrian Bunk.
* lib/am/subdirs.am ($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)):
Process all words of $MAKEFLAGS when checking for -k.
* tests/check4.test: New file.
* tests/Makefile.am (TESTS): Add check4.test.
Report from Eric Blake.
* m4/amversion.in (AM_AUTOMAKE_VERSION): Point users to
AM_INIT_AUTOMAKE if the version passed is incorrect.
* tests/version8.test: New file.
* tests/Makefile.am (TESTS): Add version8.test.