platform/upstream/automake.git
15 years agognupload touchups.
Ralf Wildenhues [Wed, 4 Mar 2009 19:40:43 +0000 (20:40 +0100)]
gnupload touchups.

* lib/gnupload (conffile): New variable.  Use throughout.
(dry_run): Use `false' and `:' values.  Show, don't execute,
gpg signing commands upon --dry-run.
(usage): Typo and formatting fixes.  Mention that commands are
applied in order.
(argument loop): Factorize a bit, fix quoting.
(dprint, mkdirective, mksymlink, upload): Formatting and
portability fixes.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoVarious gnupload improvements.
Sergey Poznyakoff [Wed, 4 Mar 2009 19:39:56 +0000 (20:39 +0100)]
Various gnupload improvements.

Add support for uploading to download.gnu.org.ua.
Add support for a .gnupload configuration file.
Support creating and removing symlinks.
Allow for several operations in a single invocation.
Add debugging features.

* lib/gnupload: New options --delete, --symlink, --rmsymlink,
--symlink-regex, --dry-run; support `--' to separate options and
commands from files.  New target download.gnu.org.ua.  Expand
`.gnupload' file contents before command line arguments.
(usage): Expand.
(dprint, mkdirective, mksymlink, upload): New functions.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoAdd depmode=msvcmsys for Microsoft Visual C++ on MSYS.
Peter Rosin [Tue, 3 Mar 2009 21:29:12 +0000 (22:29 +0100)]
Add depmode=msvcmsys for Microsoft Visual C++ on MSYS.

* lib/depcomp [msvisualcpp]: Fork fewer processes. Filter out
libtool in the preprocessor invocation (as is done in
depmode=cpp). Silence compiler stderr.
[msvcmsys]: New depmode as a derivative of depmode=msvisualcpp.
msvcmsys transforms any backslashes into forward slashes to
make the grep in depend.m4 match, instead of the "cygpath -u"
that is used in msvisualcpp.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix w32 path handling in the `compile' script.
Ralf Wildenhues [Tue, 3 Mar 2009 20:10:43 +0000 (21:10 +0100)]
Fix w32 path handling in the `compile' script.

* lib/compile: Handle colons and backslashes in win32 paths.
* tests/compile2.test: New test.
* tests/Makefile.am: Update.
Report and initial patch by Peter Rosin.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoAdd ChangeLog for last commit
Ralf Wildenhues [Tue, 3 Mar 2009 20:03:57 +0000 (21:03 +0100)]
Add ChangeLog for last commit

15 years agoFix `use constant' usage for MSYS Perl 5.6.0.
Ralf Wildenhues [Tue, 3 Mar 2009 19:44:42 +0000 (20:44 +0100)]
Fix `use constant' usage for MSYS Perl 5.6.0.

* automake.in (QUEUE_MESSAGE, QUEUE_CONF_FILE, QUEUE_LOCATION)
(QUEUE_STRING): Define using one `use constant' each; as perl
5.6.0 (on MSYS) does not understand `use constant { ... }'.
* THANKS: Update.
Report by Peter Rosin.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix recursive html and install-* doc rules for BSD make.
Ralf Wildenhues [Sun, 1 Mar 2009 15:51:34 +0000 (16:51 +0100)]
Fix recursive html and install-* doc rules for BSD make.

* automake.in (%required_targets): Add html-am,
install-html-am, install-dvi-am, install-pdf-am, install-ps-am,
install-info-am.
* tests/txinfo32.test: New test.
* tests/Makefile.am: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix comment typo.
Ralf Wildenhues [Sun, 1 Mar 2009 15:47:45 +0000 (16:47 +0100)]
Fix comment typo.

* lib/am/distdir.am (distcheck): Fix typo in comment.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoIgnore generated files below doc/amhello for git.
Ralf Wildenhues [Sun, 1 Mar 2009 14:01:44 +0000 (15:01 +0100)]
Ignore generated files below doc/amhello for git.

* doc/amhello/.gitignore: New file.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoCross-reference `Flag Variables Ordering' from `Program variables'.
Ralf Wildenhues [Tue, 17 Feb 2009 06:29:04 +0000 (07:29 +0100)]
Cross-reference `Flag Variables Ordering' from `Program variables'.

* doc/automake.texi (Program variables): Add cross reference to
`Flag Variables Ordering' node.
Report by Karl Berry.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix mmodely.test to work on Solaris 10.
Ralf Wildenhues [Sat, 31 Jan 2009 09:33:00 +0000 (10:33 +0100)]
Fix mmodely.test to work on Solaris 10.

* tests/mmodely.test: Define yylex, to satisfy needed symbol in
libfl.  Return from main instead of using exit, undeclared.
* THANKS: Update.
Report by Chris Hoogendyk.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years ago* lib/gnupload: Add download URL to --help output.
Karl Berry [Thu, 29 Jan 2009 23:20:00 +0000 (00:20 +0100)]
* lib/gnupload: Add download URL to --help output.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoUse no-arg macros via AC_REQUIRE for consistency.
Eric Blake [Fri, 23 Jan 2009 22:34:17 +0000 (15:34 -0700)]
Use no-arg macros via AC_REQUIRE for consistency.

* m4/init.m4 (AM_INIT_AUTOMAKE): Require, rather than directly
expand, AM_PROG_INSTALL_SH and AM_PROG_INSTALL_STRIP.
* configure: Regenerate.

Signed-off-by: Eric Blake <ebb9@byu.net>
15 years agoBump copyright years.
Ralf Wildenhues [Tue, 20 Jan 2009 19:58:48 +0000 (20:58 +0100)]
Bump copyright years.

* aclocal.in (write_aclocal, version): Bump copyright years.
* automake.in (gen_copyright, version): Likewise.
* doc/automake.texi: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoClarify overriding of `*_DEPENDENCIES' in LIBOBJS node.
Chris Pickett [Mon, 29 Dec 2008 19:32:56 +0000 (20:32 +0100)]
Clarify overriding of `*_DEPENDENCIES' in LIBOBJS node.

* doc/automake.texi (LIBOBJS): Clarify overriding of
`*_DEPENDENCIES'.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoRevamp semantics for `missing help2man' and manpage distribution.
Ralf Wildenhues [Sun, 21 Dec 2008 21:38:37 +0000 (22:38 +0100)]
Revamp semantics for `missing help2man' and manpage distribution.

Previously, `missing help2man' would create a missing man page
containing an error message, and exit 1.  This does not play
well with `make': the next run will see this particular man page
as being up to date, and will only error out on the next
generated man page, if any; repeat until all pages are done.
This patch changes `missing' to exit successfully in this case,
but `make dist' will ensure that no such man pages are packaged.

* lib/missing: Exit successfully even if we create a replacement
page due to missing help2man.
* automake.in (make_paragraphs): Define %HAVE-MANS% to be true
if this makefile deals with man pages.
* lib/am/distdir.am (distdir): If %INSTALL-MAN% and %HAVE-MANS%,
check that no man page in $(MANS) contains the replacement text
from `missing'.
* tests/man4.test: New test.
* tests/Makefile.am: Update.
* NEWS: Reorder a bit, update.
* THANKS: Update.
Report by Werner Lemberg and Karl Berry.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoDo not use 'global' for makefile-wide settings.
Ralf Wildenhues [Sun, 21 Dec 2008 21:26:14 +0000 (22:26 +0100)]
Do not use 'global' for makefile-wide settings.

* doc/automake.texi (Linking, Libtool Flags)
(Program and Library Variables, Flag Variables Ordering):
Reword instances of `global variables' that really mean
makefile-wide ones.
* THANKS: Update.
Report by Andreas Bergmeier.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix config.status depfiles failure.
Ralf Wildenhues [Sun, 21 Dec 2008 16:33:17 +0000 (17:33 +0100)]
Fix config.status depfiles failure.

* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Commands are
again a single shell brace group, so they are correctly skipped
when dependencies are turned off.  The failure is noisy with
ksh only.
* tests/depend6.test: New test.
* tests/Makefile.am: Adjust.
* THANKS: Update.
Report and different suggested patch by Markus Duft.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix a couple of typos in the manual.
Zoltan Rado [Sun, 21 Dec 2008 16:13:37 +0000 (17:13 +0100)]
Fix a couple of typos in the manual.

* doc/automake.texi (DESTDIR): Fix a couple of typos.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix nonportable sed script in 'missing'.
Ralf Wildenhues [Sat, 13 Dec 2008 13:04:29 +0000 (14:04 +0100)]
Fix nonportable sed script in 'missing'.

* lib/missing: In sed script, do not use ';' after 't' commands.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoRelease procedure: check for broken links.
Ralf Wildenhues [Sun, 7 Dec 2008 12:09:09 +0000 (13:09 +0100)]
Release procedure: check for broken links.

* HACKING: when uploading the manual at release time,
check for broken links.
Report by Michael Ploujnikov.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix some broken links, for PR automake/531.
Ralf Wildenhues [Sun, 7 Dec 2008 11:39:00 +0000 (12:39 +0100)]
Fix some broken links, for PR automake/531.

* doc/automake.texi (amhello Explained)
(Mixing Fortran 77 With C and C++): Fix broken links to
Autoconf manual.
Report by Michael Ploujnikov.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoVarious spelling and grammar fixes.
Michael Ploujnikov [Sun, 7 Dec 2008 11:10:18 +0000 (12:10 +0100)]
Various spelling and grammar fixes.

* doc/automake.texi (Optional, Future of aclocal): Various
spelling and grammar fixes.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoSimple typographical and grammar errors in automake.texi.
William Pursell [Mon, 1 Dec 2008 21:06:32 +0000 (21:06 +0000)]
Simple typographical and grammar errors in automake.texi.

* doc/automake.texi: Fix object/article consistency (eg "an
flag" becomes "a flag"), correct minor punctuation errors, etc.

15 years agoReplace 'configure' with '@command{configure}' as appropriate.
William Pursell [Mon, 1 Dec 2008 21:06:18 +0000 (21:06 +0000)]
Replace 'configure' with '@command{configure}' as appropriate.

* doc/automake.texi (Auxiliary Programs, Python, Rebuilding):
Replace 'configure' with '@command{configure}' as appropriate.

15 years agoFixup release rules.
Ralf Wildenhues [Sat, 29 Nov 2008 10:03:32 +0000 (11:03 +0100)]
Fixup release rules.

* Makefile.am (cvs-diff): Remove.
(git-dist): Do not use clcommit any more.  Use new-style tag
name.  Pass $(AM_MAKEFLAGS) to $(MAKE).
(git-diff): Adjust.
(git-release): Do not upload to sources.redhat.com.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix portability issues in distcleancheck_listfiles doc example.
Ralf Wildenhues [Thu, 27 Nov 2008 21:27:15 +0000 (22:27 +0100)]
Fix portability issues in distcleancheck_listfiles doc example.

* doc/automake.texi (Dist): In the `distcleancheck_listfiles'
code example, add `.' path, for Solaris `find', also rewrite so
`{}' appears only once and as separate argument, for Posix.
* tests/distcleancheck.test: New test.
* tests/Makefile.am: Update.
* THANKS: Update.
Report by Jan Engelhardt and Andreas Schwab.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoCope with whitespace in $MISSING and $install_sh.
Ralf Wildenhues [Thu, 27 Nov 2008 20:46:36 +0000 (21:46 +0100)]
Cope with whitespace in $MISSING and $install_sh.

* configure.ac (am_AUTOHEADER): New substitution, save the value
of $AUTOHEADER before AM_INIT_AUTOMAKE may add $MISSING.
* tests/defs.in: Use am_AUTOHEADER.
* lib/am/install.am: Fix typo.
* m4/install-sh.m4 (AM_PROG_INSTALL_SH): Add suitable
single-quote quoting to install_sh, but only if needed.
* m4/missing.m4 (AM_MISSING_HAS_RUN): Add suitable double-quote
quoting to MISSING, but only if needed.
* m4/sanity.m4 (AM_SANITY_CHECK): Abort configure if `pwd` or
$srcdir contain shell meta-characters that cannot be handled;
space and tab are allowed in the former only.
* tests/sanity.test: New test.
* tests/Makefile.am: Adjust.
* NEWS: Update.
Reports by Jim Meyering and others.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoLet `missing' also work with versioned and prefixed programs.
Ralf Wildenhues [Mon, 24 Nov 2008 06:44:33 +0000 (07:44 +0100)]
Let `missing' also work with versioned and prefixed programs.

* lib/missing: Ignore prefixes of `gnu-', `gnu', and `g' when
testing for known programs; also, ignore suffixes.
* tests/missing.test: Amend test.
* NEWS, THANKS: Update.
Report by Tim Rice.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix tenses, plurals, swap words, cleanup in manual.
William Pursell [Sun, 23 Nov 2008 21:23:12 +0000 (22:23 +0100)]
Fix tenses, plurals, swap words, cleanup in manual.

* doc/automake.texi (Macro search path, Extending aclocal)
(Local Macros, Serials, Public macros, Directories)
(Conditional Subdirectories, Nesting Packages)
(Building a program, Libtool Modules)
(Program and Library Variables, Default _SOURCES, LIBOBJS):
Correct verb/object tense agreement, swap some words,
and general trivial cleanup.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix more typos and grammaros in the manual.
William Pursell [Sat, 22 Nov 2008 14:06:50 +0000 (15:06 +0100)]
Fix more typos and grammaros in the manual.

* doc/automake.texi (VPATH Builds, Nested Packages)
(Length limitations, Auxiliary Programs, Invoking Automake)
(Requirements, Optional): Fix typos and grammaros, correct URL
to 'config' source repository.  Rewrite description of AC_SUBST.
(true): Cross-reference to `Default _SOURCES' node.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoQuote APIVERSION in configure.ac.
William Pursell [Sat, 22 Nov 2008 13:53:40 +0000 (14:53 +0100)]
Quote APIVERSION in configure.ac.

* configure.ac: Quote APIVERSION.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix typo introduced by Committer in last patch.
Jim Meyering [Sat, 22 Nov 2008 13:19:35 +0000 (14:19 +0100)]
Fix typo introduced by Committer in last patch.

* tests/xz.test: Fix typo introduced by Ralf in last patch.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoAdd xz compression support.
Jim Meyering [Sat, 22 Nov 2008 11:02:36 +0000 (12:02 +0100)]
Add xz compression support.

* NEWS: Mention xz, as well as lzma (xz will displace lzma).
* automake.in (handle_dist): Recognize dist-xz.
(make_paragraphs): Map XZ to dist-xz.
* doc/automake.texi (Dist): Add dist-xz.
(Options): Likewise.
* lib/Automake/Options.pm (_process_option_list): Accept
dist-xz.
* lib/am/distdir.am (dist-xz): New rule.
(dist dist-all): Add command to create an xz-compressed tarball.
(distcheck): Handle xz-compressed tarballs just like the others.
* tests/xz.test: New file, based on nogzip.test.
* tests/Makefile.am (TESTS): Add xz.test.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoWhen installing COPYING, recommend adding the file to VCS.
Ralf Wildenhues [Sat, 22 Nov 2008 10:46:39 +0000 (11:46 +0100)]
When installing COPYING, recommend adding the file to VCS.

* automake.in (require_file_internal): If installing `COPYING',
mention that we install the GPLv3 file and recommend adding the
file to version control.
* doc/automake.texi (Invoking Automake): Point to `Gnits' node
for `--add-missing'.
(Gnits): Clarify semantics: that for strictness gnu or higher,
INSTALL is installed, and that COPYING is installed as GPLv3
if no COPYING file exists.
* tests/license2.test: New test.
* tests/Makefile.am: Update.
* NEWS, THANKS: Update.
Report by Brian Cameron.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix typos and grammaros in the documentation.
William Pursell [Thu, 20 Nov 2008 05:33:58 +0000 (06:33 +0100)]
Fix typos and grammaros in the documentation.

* doc/automake.texi (Timeline): Fix typos and grammaros.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoNew gnupload option --delete to remove archive files.
Karl Berry [Wed, 12 Nov 2008 19:52:03 +0000 (20:52 +0100)]
New gnupload option --delete to remove archive files.

* lib/gnupload: Accept --delete to remove files from
alpha.gnu.org or ftp.gnu.org.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoTestsuite fixes for ksh.
Ralf Wildenhues [Wed, 12 Nov 2008 06:07:31 +0000 (07:07 +0100)]
Testsuite fixes for ksh.

* tests/check10.test: Add ':' as last command in subshell, for
zero exit status of the subshell.
* tests/parallel-am.test: Do not let failing 'unset' of
nonexistent variable exit the test.
* tests/parallel-am2.test: Likewise.
* tests/parallel-am3.test: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoCleanup config.lt in case LT_OUTPUT is in use.
Charles Wilson [Tue, 11 Nov 2008 22:34:47 +0000 (23:34 +0100)]
Cleanup config.lt in case LT_OUTPUT is in use.

* lib/am/libtool.am [TOPDIR_P] (distclean-libtool): clean up
config.lt as well as libtool.
* tests/libtoo11.test: New test.
* tests/Makefile.am: Update.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoSync auxiliary files from upstream.
Ralf Wildenhues [Tue, 11 Nov 2008 06:10:30 +0000 (07:10 +0100)]
Sync auxiliary files from upstream.

* INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
lib/texinfo.tex: Sync from upstream.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoUpdate to GFDL 1.3.
Ralf Wildenhues [Mon, 10 Nov 2008 21:27:14 +0000 (22:27 +0100)]
Update to GFDL 1.3.

* doc/fdl.texi: Update to GFDL 1.3.
* doc/automake.texi (GNU Free Documentation License): Adjust.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix typos.
Ralf Wildenhues [Mon, 10 Nov 2008 20:47:06 +0000 (21:47 +0100)]
Fix typos.

* NEWS: Fix typos.
* automake.in: Fix typos in comments.  Remove extraneous
whitespace.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoCope with absent Perl modules threads and Thread::Queue.
Ralf Wildenhues [Thu, 6 Nov 2008 20:06:01 +0000 (21:06 +0100)]
Cope with absent Perl modules threads and Thread::Queue.

* automake.in: Instead of `use threads', use `require threads;
import threads' inside a BEGIN section.  Likewise for
Thread::Queue.
* lib/Automake/ChannelDefs.pm (Automake::ChannelDefs): Likewise.
* lib/Automake/tests/Condition-t.pl: Likewise.
* lib/Automake/tests/DisjConditions-t.pl: Likewise.
* configure.ac: Likewise, use `require' and `import'.
Report by Eric Blake, fix suggested by Ben Pfaff.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoMultiple 'make uninstall' should not fail even for TEXINFOS.
Ralf Wildenhues [Tue, 4 Nov 2008 21:42:23 +0000 (22:42 +0100)]
Multiple 'make uninstall' should not fail even for TEXINFOS.

* lib/am/texinfos.am (uninstall-info-am): Do not fail due to
install-info if the installed file does not exist (any more).
* tests/txinfo26.test: Issue multiple `make uninstall'.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/instmany.test: Likewise.
* tests/txinfo26.test: Likewise.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoNew public macro AM_SUBST_NOTMAKE.
Ralf Wildenhues [Mon, 3 Nov 2008 21:56:22 +0000 (22:56 +0100)]
New public macro AM_SUBST_NOTMAKE.

* m4/substnot.m4 (AM_SUBST_NOTMAKE): New public macro; invoke
_AM_SUBST_NOTMAKE with arguments.
* doc/automake.texi (Optional): Document it.
* NEWS: Update.
* tests/subst4.test: New test.
* tests/Makefile.am: Update.
Suggestion by Bruno Haible.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix regression introduced by AM_DEFAULT_SOURCE_EXT.
Ralf Wildenhues [Mon, 3 Nov 2008 21:50:16 +0000 (22:50 +0100)]
Fix regression introduced by AM_DEFAULT_SOURCE_EXT.

* automake.in (handle_source_transform): Use the right variable
when determining whether to apply the old rule for the libtool
library default source name.
Testsuite failure exposed by Bob Proulx' build daemon.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoNew maintainer target release-stats.
Ralf Wildenhues [Sun, 2 Nov 2008 21:59:38 +0000 (22:59 +0100)]
New maintainer target release-stats.

* Makefile.am (release-stats): New target, to help computing the
entries in the statistics table in automake.texi.
* doc/automake.texi (Releases): Reformat a bit.  Add number of
generated files.  Add entry for 1.10.1.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoChoose default source extension: AM_DEFAULT_SOURCE_EXT.
Ralf Wildenhues [Sun, 2 Nov 2008 21:55:30 +0000 (22:55 +0100)]
Choose default source extension: AM_DEFAULT_SOURCE_EXT.

* automake.in (handle_source_transform): Accept unconditional
literal extension in AM_DEFAULT_SOURCE_EXT as override for the
default source extension `.c'.  If set, ignore the old default
source rule for libtool libraries.
* doc/automake.texi (Default _SOURCES): Document this.
* NEWS: Update.
* tests/specflg10.test: New test.
* tests/Makefile.am: Update.
Suggestion by Akim Demaille.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix maintainer-check failure.
Ralf Wildenhues [Sun, 2 Nov 2008 21:52:27 +0000 (22:52 +0100)]
Fix maintainer-check failure.

* tests/parallel-am.test: Rename variable to not match pattern
used in maintainer-check.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years ago* NEWS: Fix typo.
Ralf Wildenhues [Mon, 27 Oct 2008 21:50:32 +0000 (22:50 +0100)]
* NEWS: Fix typo.

Spotted by Jim Meyering.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoParallel automake --add-missing: serialized file installs.
Ralf Wildenhues [Sun, 26 Oct 2008 19:49:26 +0000 (20:49 +0100)]
Parallel automake --add-missing: serialized file installs.

* automake.in (QUEUE_CONF_FILE, QUEUE_LOCATION, QUEUE_STRING):
New serialization keys.
($required_conf_file_queue): New file global.
(queue_required_conf_file, require_queued_conf_file): New
functions, to queue and dequeue requirements for aux dir files.
(require_conf_file): Enqueue if needed.
(get_number_of_threads): Can do threads with --add-missing now.
(handle_makefiles_threaded): Let worker threads enqueue, let
master attend to queued requirements at the right time.
* tests/parallel-am.test: Explain the purpose of the include
chain used here.
* tests/parallel-am2.test: Also cope with --add-missing.
* tests/parallel-am3.test: New test, test absence of races with
concurrent same-file installs stemming from --add-missing.
* tests/Makefile.am: Adjust.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoImplement serialization for Locations.
Ralf Wildenhues [Sun, 26 Oct 2008 19:38:06 +0000 (20:38 +0100)]
Implement serialization for Locations.

* lib/Automake/Location.pm (serialize, deserialize): New
functions.  They allows to serialize a Location in an array, and
to restore a Location from a thread queue.  The API is
unsymmetric (array vs. queue) because enqueuing data needs to
happen atomically.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoParallel automake: ordered output messages.
Ralf Wildenhues [Sun, 26 Oct 2008 19:11:12 +0000 (20:11 +0100)]
Parallel automake: ordered output messages.

* lib/Automake/Channels.pm (%_default_options): New options
`ordered' default enabled, `queue', default zero (no queue),
`queue_key' default undefined.
(_merge_options): Ensure `ordered' channels cannot have fatal
messages or backtrace output.
(_enqueue, _dequeue): New functions, to push messages onto a
Thread::Queue, and output messages from such a queue, suitably
weeded for duplicates in the same manner as _print_message.
(_print_message): If the channel is ordered and has an
associated queue, then enqueue messages instead of printing
them.
(setup_channel_queue, pop_channel_queue): New functions,
to set a Thread::Queue for channels, and to flush a queue.
* lib/Automake/ChannelDefs.pm: Unset channel option `ordered'
for fatal, automake, and verb channels.
* automake.in (QUEUE_MESSAGE): New global constant, used as
serialization key.
(handle_makefiles_threaded): Create message queues for each
input file; workers queue messages, and the master outputs them
ordered, using the new Channels.pm functions.
* tests/parallel-am.test: Also check for ordered output (in the
absence of --add-missing races).
* tests/parallel-am2.test: New test; check for ordered output of
warning and (regular) error messages.
* tests/Makefile.am: Adjust.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoParallel automake execution: AUTOMAKE_JOBS.
Ralf Wildenhues [Sun, 26 Oct 2008 18:29:25 +0000 (19:29 +0100)]
Parallel automake execution: AUTOMAKE_JOBS.

* lib/Automake/Config.in (perl_threads): New global.
* automake.in: Use it.  If the perl supports interpreter-based
threading, then use `threads' and `Thread::Queue'.
(handle_makefile, handle_makefiles_serial): New functions,
factored out from main.
(get_number_of_threads): New function, compute number of threads
to use, based on environment variable `AUTOMAKE_JOBS' and number
of independent makefiles.
(handle_makefiles_threaded): New function.  Spawn threads, use
thread queue to distribute handling the different makefiles.
Collect $exit_code values from threads.
(main): Use new functions.
* aclocal.in: No threads here.
* configure.ac: Substitute PERL_THREADS; enabled with perl >=
5.7.2 and when ithreads are available.
* bootstrap (dosubst): Likewise.
* Makefile.am (do_subst): Likewise.
* lib/Automake/Makefile.am (do_subst): Likewise.
* lib/Automake/ChannelDefs.pm: Use `Automake::Config' and
`threads'.
(verb): Prepend thread ID (tid) to verbose messages.
* lib/Automake/Channels.pm (msg): Before exiting, flush stderr,
needed for worker threads.
* lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Also
include the build tree path, so Config.pm is found.
* tests/parallel-am.test: New test.
* tests/Makefile.am: Update.
* doc/automake.texi (Invoking Automake): Document AUTOMAKE_JOBS.
* NEWS, THANKS: Update.
Report about long execution times by Joakim Tjernlund and others.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoMinor file checking optimization: set_dir_cache_file.
Ralf Wildenhues [Sun, 26 Oct 2008 17:50:17 +0000 (18:50 +0100)]
Minor file checking optimization: set_dir_cache_file.

* lib/Automake/FileUtils.pm (set_dir_cache_file): New function.
* automake.in (require_file_internal): Instead of resetting the
cache when a file has been installed, simply correct the cache
using set_dir_cache_file.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoNo uniquifying for fatal, prog_error, and verbose messages.
Ralf Wildenhues [Sun, 26 Oct 2008 15:29:54 +0000 (16:29 +0100)]
No uniquifying for fatal, prog_error, and verbose messages.

There is no point in dropping critical messages, even if they
are duplicates (unlikely to happen unless they have been sent
as non-critical messages before), and verbose messages should
enable to show progress, even using duplicate statements.
* lib/Automake/ChannelDefs.pm (fatal, automake, verb): Set
`uniq_part' to `UP_NONE' when registering these channels.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix 'config.status --file=... depfiles' with new Autoconf.
Ralf Wildenhues [Sun, 26 Oct 2008 14:55:22 +0000 (15:55 +0100)]
Fix 'config.status --file=... depfiles' with new Autoconf.

* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Eval
$CONFIG_STATUS contents if we detect the quoting used by
Autoconf 2.62 and newer for --file=.
* tests/depend5.test: New test.
* tests/Makefile.am: Update.
* NEWS, THANKS: Update.
Report by Sam Steingold against gnulib.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoSupport for Python 3.0, drop support for pre-2.0.
Johan Dahlin [Sun, 26 Oct 2008 09:28:40 +0000 (10:28 +0100)]
Support for Python 3.0, drop support for pre-2.0.

* lib/py-compile: Do not import string; use sys.stdout.write
instead of print, files.split instead of string.split.
* m4/python.m4 (AM_PATH_PYTHON): Also look for python3 and
phython3.0; do not look for python1.5.  Use sys.stdout.write.
(AM_PYTHON_CHECK_VERSION): Do not use string; adjust to xrange
removal in Python 3.0, and changed semantics of map.
* doc/automake.texi (Python, Hard-Coded Install Paths): Update
Python versions mentioned in the manual, using 2.5 everywhere.
* NEWS, THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoDrop unused variable.
Ralf Wildenhues [Wed, 22 Oct 2008 19:59:02 +0000 (21:59 +0200)]
Drop unused variable.

* lib/Automake/Channels.pm (@chain): Drop unused variable.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoCleanup of per-input global variables in automake.in.
Ralf Wildenhues [Wed, 22 Oct 2008 19:31:46 +0000 (21:31 +0200)]
Cleanup of per-input global variables in automake.in.

* automake.in ($output_vars, $output_all, $output_header)
($output_rules, $output_trailer): Fix comment, and sort
declarations in the order they will appear in the output.
($all_target): Unused variable, remove.
(Variables not reset by &initialize_per_input.): New section,
clarify that %am_file_cache is not reset.
(initialize_per_input): Reset $am_file_name, $am_relative_dir,
$in_file_name, $relative_dir, and $topsrcdir to `undef' rather
than the empty string; $topsrcdir was not reset at all.  Sort
remaining variables in the same order as in the section
`Variables reset by &initialize_per_input'.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoLet stderr output end up on fd 2 in testsuite.
Ralf Wildenhues [Wed, 22 Oct 2008 19:21:55 +0000 (21:21 +0200)]
Let stderr output end up on fd 2 in testsuite.

* tests/defs.in (AUTOMAKE_run): Output recorded stderr on file
descriptor 2.
* tests/getopt.test: Fix erroneous multiple redirection,
uncovered by above change.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix DisjConditions module to be thread-safe for perl >= 5.7.2.
Ralf Wildenhues [Sun, 19 Oct 2008 17:54:12 +0000 (19:54 +0200)]
Fix DisjConditions module to be thread-safe for perl >= 5.7.2.

Self-hashes of blessed references are not correctly transported
through thread creation.  This patch fixes that by recreating
the hashes upon thread creation with a CLONE special subroutine,
which is automatically invoked by new enough Perl versions.
* lib/Automake/DisjConditions.pm (CLONE): New special
subroutine to fix self hashes upon thread creation.
* lib/Automake/tests/Condition-t.pl: New, sister test to
Condition.pl, but spawns a new threads after each creation of a
new condition; skip test if perl is too old or ithreads are not
available.
* lib/Automake/tests/DisjConditions-t.pl: Likewise.
* lib/Automake/tests/Makefile.am (TESTS): Add them.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix comment typos.
Ralf Wildenhues [Sat, 18 Oct 2008 09:09:14 +0000 (11:09 +0200)]
Fix comment typos.

* automake.in (require_file_internal): Fix typos in comments.
* m4/amversion.in: Likewise.
* lib/Automake/Variable.pm: Likewise.
* lib/Automake/XFile.pm: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoDiagnose unsupported uses of `backname' helper function.
Ralf Wildenhues [Sat, 18 Oct 2008 08:08:15 +0000 (10:08 +0200)]
Diagnose unsupported uses of `backname' helper function.

* automake.in (backname): Error out if the path points outside
the directory it started in.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoNicer 'make dist' output.
Ralf Wildenhues [Sun, 12 Oct 2008 20:22:39 +0000 (22:22 +0200)]
Nicer 'make dist' output.

* lib/am/distdir.am (distdir): Hide the complex script
used for computing the relative subdirs; echo the sub-make
command.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years ago* tests/defs.in: Fix comment typo.
William Pursell [Sun, 12 Oct 2008 20:13:39 +0000 (22:13 +0200)]
* tests/defs.in: Fix comment typo.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix grammar w.r.t. plurals in test reports.
William Pursell [Sun, 12 Oct 2008 19:51:18 +0000 (21:51 +0200)]
Fix grammar w.r.t. plurals in test reports.

* lib/am/check.am: Fix singular/plural forms in test reports.
* tests/check10.test: New test.
* tests/Makefile.am: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoRequire texi2dvi in tests, makeinfo may not be enough.
Ralf Wildenhues [Wed, 8 Oct 2008 21:25:11 +0000 (23:25 +0200)]
Require texi2dvi in tests, makeinfo may not be enough.

* tests/txinfo16.test: RHEL 5.2 has makeinfo and texi2dvi in
separate packages, so also list the latter as required, as the
test generates DVI and/or PDF output (through distcheck).
* tests/txinfo18.test: Likewise.
* tests/txinfo21.test: Likewise.
* tests/txinfo22.test: Likewise.
* tests/txinfo3.test: Likewise.
* tests/version7.test: Likewise.
* THANKS: Update.
Report by Alexander Martens.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix bootstrap to remove read-only directories right.
Ralf Wildenhues [Wed, 8 Oct 2008 05:49:18 +0000 (07:49 +0200)]
Fix bootstrap to remove read-only directories right.

* bootstrap: Remove automake-$APIVERSION correctly.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoImprove test coverage of current TESTS semantics.
Ralf Wildenhues [Mon, 6 Oct 2008 20:46:57 +0000 (22:46 +0200)]
Improve test coverage of current TESTS semantics.

* tests/check8.test: New test, for subdir tests and setting of
$srcdir.
* tests/check9.test: New test, check @substituted@ TESTS.
* tests/Makefile.am: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoWork around AIX sh quoting issue in AC_PROG_CC_C_O.
Ralf Wildenhues [Sun, 5 Oct 2008 19:49:32 +0000 (21:49 +0200)]
Work around AIX sh quoting issue in AC_PROG_CC_C_O.

* m4/minuso.m4 (AM_PROG_CC_C_O): Work around shell quoting issue
with AIX sh; fixes depcomp6.test failure.
* NEWS, THANKS: Update.
Report by Rainer Tammer.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoPrint captured output before failing.
Ralf Wildenhues [Sun, 5 Oct 2008 19:24:32 +0000 (21:24 +0200)]
Print captured output before failing.

* tests/acloca14.test, tests/acloca17.test, tests/acloca18.test,
tests/aclocal.test, tests/acsilent.test, tests/alpha.test,
tests/check4.test, tests/color.test, tests/fn99.test,
tests/fn99subdir.test, tests/help.test, tests/init.test,
tests/lisp8.test, tests/missing3.test, tests/pr220.test,
tests/python11.test, tests/python4.test, tests/python5.test,
tests/unused.test, tests/version8.test: When Exit is called
after a command that has stdout or stderr redirected to a file
for later inspection, output the file before failing the test.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix some comment typos.
Ralf Wildenhues [Sun, 5 Oct 2008 19:15:25 +0000 (21:15 +0200)]
Fix some comment typos.

* automake.in: Fix some comment typos.
* lib/Automake/Condition.pm: Likewise.
* lib/Automake/DisjConditions.pm: Likewise.
* lib/Automake/Variable.pm: Likewise.
* lib/Automake/tests/DisjConditions.pl: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years ago* tests/aclibobj.test: Fix race condition.
Ralf Wildenhues [Mon, 22 Sep 2008 21:03:02 +0000 (23:03 +0200)]
* tests/aclibobj.test: Fix race condition.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix man page creation without installed files.
Ralf Wildenhues [Sun, 21 Sep 2008 02:25:04 +0000 (04:25 +0200)]
Fix man page creation without installed files.

* doc/Makefile.am (update_mans): Use wrappers in tests/
directory.
($(srcdir)/aclocal-$(APIVERSION).1): Use versioned wrapper as
input program to help2man.
($(srcdir)/automake-$(APIVERSION).1): Likewise.
Report by Eric Blake.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoRemove unneeded per-rule *INSTALL variables.
Ralf Wildenhues [Sat, 20 Sep 2008 15:33:29 +0000 (17:33 +0200)]
Remove unneeded per-rule *INSTALL variables.

* NEWS: Update.
* lib/am/data.am (%DIR%%PRIMARY%_INSTALL): Remove.
(install-%DIR%%PRIMARY%): Adjust.
* lib/am/libs.am (%DIR%LIBRARIES_INSTALL): Remove.
(install-%DIR%LIBRARIES): Adjust.
* lib/am/ltlibs.am (%DIR%LTLIBRARIES_INSTALL): Remove.
(install-%DIR%LTLIBRARIES): Adjust.
* lib/am/progs.am (%DIR%PROGRAMS_INSTALL): Remove.
(install-%DIR%PROGRAMS): Adjust.
* lib/am/python.am (%DIR%PYTHON_INSTALL): Remove.
(install-%DIR%PYTHON): Adjust.
* lib/am/scripts.am (%DIR%SCRIPT_INSTALL): Remove.
(install-%DIR%SCRIPTS): Adjust.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoCompactify program rules using ternary operators.
Ralf Wildenhues [Sat, 20 Sep 2008 13:38:26 +0000 (15:38 +0200)]
Compactify program rules using ternary operators.

* lib/am/progs.am (install-%DIR%PROGRAMS): Uglify^WCompactify
using ternary operators `%KEY?TRUE:FALSE%'.
(uninstall-%DIR%PROGRAMS): Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoNew doc section about command line length limits.
Ralf Wildenhues [Sat, 20 Sep 2008 12:27:10 +0000 (14:27 +0200)]
New doc section about command line length limits.

* doc/automake.texi (Length limitations): New node.
(Alternative): `nobase_' is not always equivalent to several
base variables.
(Install): Mention multi-file install.
* NEWS: Expand on the issue, list some more user-visible
consequences.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoInstall nobase_lib_LTLIBRARIES before bin_PROGRAMS.
Ralf Wildenhues [Sat, 20 Sep 2008 11:02:23 +0000 (13:02 +0200)]
Install nobase_lib_LTLIBRARIES before bin_PROGRAMS.

* automake.in (generate_makefile): If nobase_lib_LTLIBRARIES are
used, add an ugly hack to install them before bin_PROGRAMS, just
like done with lib_LTLIBRARIES.
* tests/ltorder.test: Add program, to expose this.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoDo not reorder nobase ltlib installation.
Ralf Wildenhues [Sat, 20 Sep 2008 10:30:48 +0000 (12:30 +0200)]
Do not reorder nobase ltlib installation.

This patch changes back the order of installation of nobase
LTLIBRARIES to that in which files are listed in the variables.
It does not fix the issue of strict dependency ordering, as
implied by *_LIBADD, but as before allows to steer the order by
listing the libraries in nobase_*_LTLIBRARIES appropriately.

As an advantage over the state of 1.10, multiple consecutive
nobase libraries to be installed in the same directory are
passed to libtool in one invocation.

* lib/am/ltlib.am (install-%DIR%LTLIBRARIES) [!%?BASE%]: Do not
reorder libraries upon installation.  Remove spurious empty
line.
* tests/ltorder.test: New test.
* tests/Makefile.am: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix -rpath arguments for nobase_*_LTLIBRARIES.
Ralf Wildenhues [Sat, 20 Sep 2008 10:12:42 +0000 (12:12 +0200)]
Fix -rpath arguments for nobase_*_LTLIBRARIES.

* automake.in (handle_ltlibraries): New hash %instsubdirs to
track the dirname of nobase ltlibraries, and tack it onto the
end of the -rpath argument.  Also, fix the warning about ltlibs
installed in multiple locations to fit a bit better.
* tests/pr300-ltlib.test: Expose this bug here.
* tests/ltinstloc.test: New test.
* tests/Makefile.am: Update.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoMan pages for automake and aclocal.
Ralf Wildenhues [Sat, 20 Sep 2008 09:42:31 +0000 (11:42 +0200)]
Man pages for automake and aclocal.

* configure.ac (HELP2MAN): New substitution.
* doc/Makefile.am (dist_man1_MANS, MAINTAINERCLEANFILES)
(update_mans): New macros.
($(srcdir)/aclocal-$(APIVERSION).1)
($(srcdir)/automake-$(APIVERSION).1): New rules, generate
man pages from the command line help with help2man.
($(srcdir)/aclocal.1, $(srcdir)/automake.1): New rules, for
`.so' man page links to the versioned pages.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoinstall: cope with non-injective $(transform).
Ralf Wildenhues [Sat, 13 Sep 2008 07:55:23 +0000 (09:55 +0200)]
install: cope with non-injective $(transform).

* lib/am/progs.am (install-%DIR%PROGRAMS): Rewrite rule to not
try to use the installed name as key in a hash, so destructive
$(transform) scripts still work.
* lib/am/scripts.am (install-%DIR%SCRIPTS): Likewise.
* tests/transform.test: Fix test to look in right place for
installed files.
* tests/transform2.test: New test.
* tests/Makefile.am: Adjust.
Report by Jim Meyering.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFaster install for libtool outputs.
Ralf Wildenhues [Sat, 13 Sep 2008 07:32:13 +0000 (09:32 +0200)]
Faster install for libtool outputs.

* lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Invoke `libtool
--mode=install' with multiple libraries at once.
(%DIR%LTLIBRARIES_INSTALL): No need to use install_sh any more.
* lib/am/progs.am (install-%DIR%PROGRAMS): Likewise, remove much
of the libtool special-casing by invoking it for multiple
programs at once.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFast install and uninstall for SCRIPTS.
Ralf Wildenhues [Sun, 7 Sep 2008 09:10:26 +0000 (11:10 +0200)]
Fast install and uninstall for SCRIPTS.

* lib/am/scripts.am [%?INSTALL%]: Include inst-vars.am
independent of `%?BASE%'.
(install-%DIR%SCRIPTS): Install multiple scripts at once,
using awk and a number of sed scripts.
(uninstall-%DIR%SCRIPTS): Compute the installed names, and
remove them, all at once.
(%DIR%SCRIPT_INSTALL) [!BASE]: No need to use install-sh any
more.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoMulti-file install for PROGRAMS.
Ralf Wildenhues [Sun, 7 Sep 2008 08:56:19 +0000 (10:56 +0200)]
Multi-file install for PROGRAMS.

* lib/am/progs.am (install-%DIR%PROGRAMS): Allow to install
several programs with one install invocation, when not using
libtool; employs some trickery to cater for nobase_, $(EXEEXT),
create needed directories, libtool, while only forking a
constant number of times in the fast path; uses awk and sed also
in the default path.
(%DIR%PROGRAMS_INSTALL) [!BASE]: No need to use install-sh any
more.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoEnhance cleaning of programs in libtool mode.
Ralf Wildenhues [Sun, 7 Sep 2008 08:43:33 +0000 (10:43 +0200)]
Enhance cleaning of programs in libtool mode.

* lib/am/progs.am (clean-%DIR%PROGRAMS) [?LIBTOOL?]: Fork less
often, avoid removing programs twice if $(EXEEXT) is empty.
* tests/nobase-libtool.test: Also test PROGRAMS, in order to
exercise the code path.
* THANKS: Update.
Report by Toralf Förster.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoReliable multi-file install for man pages.
Ralf Wildenhues [Sun, 7 Sep 2008 07:59:52 +0000 (09:59 +0200)]
Reliable multi-file install for man pages.

* lib/am/mans.am: Include inst-vars.am.
(install-man%SECTION%): Gather lists of man pages to install,
and install up to 40 of those that do not have to be renamed
at once.  Fail if installation of any file fails.
(uninstall-man%SECTION%): Rewrite to use fewer sed invocations.
* doc/automake.texi (Man pages): Hint the user to the fast path.
Indentation fix.
* tests/instmany-mans.test: New test.
* tests/Makefile.am: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFaster `make uninstall'; fast install for JAVA.
Ralf Wildenhues [Sun, 7 Sep 2008 07:25:02 +0000 (09:25 +0200)]
Faster `make uninstall'; fast install for JAVA.

* lib/am/inst-vars.am (am__nobase_strip_setup)
(am__nobase_strip): New macros.
(am__nobase_list): Factorize.
* lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use them, for a
constant number of forks per uninstall.
* lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
* lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
* lib/am/progs.am (uninstall-%DIR%PROGRAMS): Fast uninstall.
* lib/am/python.am (uninstall-%DIR%PYTHON): Fast uninstall.
Echo all `rm' commands that are are executed.
* lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA):
Fast install and uninstall.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoAIX ranlib dislikes spaces in the argument.
Ralf Wildenhues [Sun, 7 Sep 2008 07:11:34 +0000 (09:11 +0200)]
AIX ranlib dislikes spaces in the argument.

* lib/am/libs.am (install-%DIR%LIBRARIES): Fix instsh.test
failure on AIX due to ranlib and whitespace in the directory.
* THANKS: Update.
Report by John F Trudeau.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFail upon install or ranlib failure, part two.
Ralf Wildenhues [Sun, 7 Sep 2008 06:42:47 +0000 (08:42 +0200)]
Fail upon install or ranlib failure, part two.

* lib/am/java.am (install-%DIR%JAVA): Fail upon install failure.
* lib/am/lisp.am (install-%DIR%LISP): Likewise.
* lib/am/ltlib.am (install-%DIR%LTLIBRARIES): Likewise.
* lib/am/libs.am (install-%DIR%LIBRARIES): Likewise, for
`install' as well as `ranlib'.
* lib/am/progs.am (install-%DIR%PROGRAMS): If `install' fails,
return its exit failure, not 1.
* tests/instfail.test: New test, for PROGRAMS (without libtool),
LIBRARIES, including nobase variants.
* tests/instfail-info.test: Likewise, for TEXINFOS.
* tests/instfail-java.test: Likewise, for JAVA.
* tests/instfail-libtool.test: Likewise, for PROGRAMS (with
libtool) and LTLIBRARIES.
* tests/Makefile.am: Adjust.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoExit upon `install' failure, part one.
Ralf Wildenhues [Sat, 6 Sep 2008 22:43:38 +0000 (00:43 +0200)]
Exit upon `install' failure, part one.

* lib/am/data.am (install-%DIR%%PRIMARY%): Exit if any install
command fails.
* lib/am/python.am (install-%DIR%PYTHON): Likewise.
* lib/am/scripts.am (install-%DIR%SCRIPTS): Likewise.
* lib/am/texinfos.am (install-dvi-am, install-html-am)
(install-info-am:, install-pdf-am): Likewise.
* tests/instmany.test: New test, for SCRIPTS, DATA, and HEADERS.
* tests/instmany-python.test: New test, for PYTHON.
* tests/Makefile.am: Adjust.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix multi-file installation for files in srcdir.
Ralf Wildenhues [Sat, 6 Sep 2008 21:40:34 +0000 (23:40 +0200)]
Fix multi-file installation for files in srcdir.

For files that can live in the build tree or the source tree,
we have to expect that prepending `$(srcdir)/' to each name
will let the install command line exceed length limitations.
Thus use a new macro, $(am__base_list), to install in chunks
of 40 files, similar to what we do for nobase_* files.  There,
lower the limit to 40, too.

* lib/am/inst-vars.am (am__install_max): Lower to 40.
(am__base_list): New macro.
* lib/am/data.am (install-%DIR%%PRIMARY%) [%?BASE%]: Use it.
* lib/am/texinfos.am (install-dvi-am, install-html-am)
(install-info-am, install-pdf-am, install-ps-am): Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoUse `Exit' instead of `exit' in test suite.
Ralf Wildenhues [Sat, 6 Sep 2008 17:20:32 +0000 (19:20 +0200)]
Use `Exit' instead of `exit' in test suite.

Cater to Bourne shells like Solaris sh that do not pass the
`exit' argument as status to the cleanup trap.
* Makefile.am (maintainer-check): Check that here-documents
use only `END' or `EOF' as delimiter in the test suite.
Check that, outside of here-documents, the tests do not use
`exit' with an argument, but use `Exit' instead.
* tests/defs.in (Exit): New function.  Use it throughout,
starting with the introduction of the exit trap.
* tests/*.test: Use `Exit $arg' instead of `exit $arg'
throughout, except inside created files.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoAvoid Heisenbug with verbose testing on HP-UX.
Ralf Wildenhues [Thu, 4 Sep 2008 20:13:36 +0000 (22:13 +0200)]
Avoid Heisenbug with verbose testing on HP-UX.

* tests/output-order.test: Remove spurious redirection line
from output for comparison.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFor all possibly-relative subdirs, use $(am__cd).
Ralf Wildenhues [Thu, 4 Sep 2008 20:04:37 +0000 (22:04 +0200)]
For all possibly-relative subdirs, use $(am__cd).

Up to now, $(am__cd) was only used within backquotes, to avoid
extraneous output.  This patch also uses it for every `cd' to a
relative subdir, to prevent CDPATH from entering an unwanted
directory.
* Makefile.am (maintainer-check): Fix current check for
$(am__cd) within backquotes a bit.  Add new check for `cd' to a
relative subdir.
* automake.in (handle_tags, handle_configure):  Adjust rules.
* lib/am/ansi2knr.am: Likewise.
* lib/am/configure.am: Likewise.
* lib/am/distdir.am: Likewise.
* lib/am/remake-hdr.am: Likewise.
* lib/am/subdirs.am: Likewise.
* lib/am/tags.am: Likewise.
* lib/am/texibuild.am: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoFix nobase-python.test for BSD make.
Ralf Wildenhues [Thu, 4 Sep 2008 19:52:29 +0000 (21:52 +0200)]
Fix nobase-python.test for BSD make.

* tests/nobase-python.test: Listing a dependency to be found
via VPATH search explicitly, without the path, as a target,
will turn off VPATH search for FreeBSD make.  So move the
creation of the files outside of the Makefile.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoImplement AM_MAINTAINER_MODE([DEFAULT-MODE]).
Ralf Wildenhues [Mon, 1 Sep 2008 18:29:58 +0000 (20:29 +0200)]
Implement AM_MAINTAINER_MODE([DEFAULT-MODE]).

* m4/maintainer.m4 (AM_MAINTAINER_MODE): Allow for an optional
first argument of `enable' or `disable', setting the default.
* doc/automake.texi (Optional, maintainer-mode): Document.
* tests/mmode.test: New test.
* tests/Makefile.am: Adjust.
* NEWS: Update.
Suggestion by Vincent Lefevre.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years agoCopyright year updates.
Ralf Wildenhues [Sun, 31 Aug 2008 06:23:24 +0000 (08:23 +0200)]
Copyright year updates.

* lib/am/header-vars.am: Update copyright years.
* lib/am/remake-hdr.am: Likewise.
* lib/am/tags.am: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15 years ago* THANKS: Use Cyrillic name instead of ASCII transcription.
Ralf Wildenhues [Thu, 28 Aug 2008 18:31:37 +0000 (20:31 +0200)]
* THANKS: Use Cyrillic name instead of ASCII transcription.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>