[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: automake-1.7b feedback (4)
From: |
Alexandre Duret-Lutz |
Subject: |
Re: automake-1.7b feedback (4) |
Date: |
Mon, 17 Nov 2003 21:02:11 +0100 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) |
>>> "Bruno" == Bruno Haible <address@hidden> writes:
Bruno> With automake-1.7b, autom4te.cache is back. Although I have in my
Bruno> $HOME/.autom4te.cfg exactly the lines recommended by the autoconf-2.59
Bruno> documentation for "disabling Autoconf caches globally", namely
Bruno> $ cat ~/.autom4te.cfg
Bruno> begin-language: "Autoconf"
Bruno> args: --no-cache
Bruno> end-language: "Autoconf"
Bruno> Invoking "aclocal" from automake-1.7b again generates a autom4te.cache
Bruno> directory. This doesn't occur with "aclocal" from the 1.7.8 series. So
Bruno> either aclocal needs to be fixed, or the instructions need to be
Bruno> updated in the autoconf documentation. The following appears to work for
Bruno> me:
Bruno> $ cat ~/.autom4te.cfg
Bruno> begin-language: "Autoconf"
Bruno> args: --no-cache
Bruno> end-language: "Autoconf"
Bruno> begin-language: "Autoconf-without-aclocal-m4"
Bruno> args: --no-cache
Bruno> end-language: "Autoconf-without-aclocal-m4"
I think we should either change the Autoconf documentation
(adding --no-cache to Autoconf-without-aclocal-m4 ought to be
enough, right?), or shake the system autom4te.cfg so that the
Autoconf language hold definitions for all tools (including
aclocal).
The latter seems nicer to the user (no need to update
autom4te.cfg), so here is a proposal to do that.
2003-11-17 Alexandre Duret-Lutz <address@hidden>
* bin/autoheader.in ($autoconf): Use
--language=autoconf-with-aclocal-m4 instead of --language=autoconf.
* bin/autoconf.in: Likewise.
* bin/autoscan.in ($autoconf): Likewise.
* bin/autoupdate.in ($autoconf): Likewise.
* lib/autom4te.in (Autoconf-with-aclocal-m4): New language.
(Autoconf, Autoconf-without-aclocal-m4, Autoconf-with-aclocal-m4):
Arrange so that Autoconf gather options common to that two other
languages, so that when a user add an option to the Autoconf language
it gets propagated to all tools including aclocal.
Report from Bruno Haible.
Index: bin/autoconf.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoconf.in,v
retrieving revision 1.154
diff -u -r1.154 autoconf.in
--- bin/autoconf.in 22 May 2003 13:24:05 -0000 1.154
+++ bin/autoconf.in 17 Nov 2003 19:50:04 -0000
@@ -266,6 +266,6 @@
test -z "$outfile" && outfile=-
# Run autom4te with expansion.
-eval set \$AUTOM4TE --language=autoconf --output=\$outfile "$traces" \$infile
+eval set \$AUTOM4TE --language=autoconf-with-aclocal-m4 --output=\$outfile
"$traces" \$infile
$verbose "$me: running $*" >&2
exec "$@"
Index: bin/autoheader.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoheader.in,v
retrieving revision 1.137
diff -u -r1.137 autoheader.in
--- bin/autoheader.in 10 Oct 2003 09:18:58 -0000 1.137
+++ bin/autoheader.in 17 Nov 2003 19:50:04 -0000
@@ -156,7 +156,7 @@
}
# Set up autoconf.
-my $autoconf = "$autom4te --language=autoconf ";
+my $autoconf = "$autom4te --language=autoconf-with-aclocal-m4 ";
$autoconf .= join (' ', map { "--include=$_" } @include);
$autoconf .= join (' ', map { "--prepend-include=$_" } @prepend_include);
$autoconf .= ' --debug' if $debug;
Index: bin/autoscan.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoscan.in,v
retrieving revision 1.96
diff -u -r1.96 autoscan.in
--- bin/autoscan.in 26 Sep 2003 12:57:44 -0000 1.96
+++ bin/autoscan.in 17 Nov 2003 19:50:05 -0000
@@ -93,7 +93,7 @@
# Autoconf and lib files.
my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@';
-my $autoconf = "$autom4te --language=autoconf";
+my $autoconf = "$autom4te --language=autoconf-with-aclocal-m4";
my @prepend_include;
my @include = ('@datadir@');
Index: bin/autoupdate.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoupdate.in,v
retrieving revision 1.48
diff -u -r1.48 autoupdate.in
--- bin/autoupdate.in 27 Aug 2003 11:35:09 -0000 1.48
+++ bin/autoupdate.in 17 Nov 2003 19:50:06 -0000
@@ -48,7 +48,7 @@
# Lib files.
my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@';
-my $autoconf = "$autom4te --language=autoconf";
+my $autoconf = "$autom4te --language=autoconf-with-aclocal-m4";
# We need to find m4sugar.
my @prepend_include;
my @include = ('@datadir@');
Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.776
diff -u -r1.776 autoconf.texi
--- doc/autoconf.texi 4 Nov 2003 21:18:58 -0000 1.776
+++ doc/autoconf.texi 17 Nov 2003 19:50:25 -0000
@@ -8206,11 +8206,18 @@
create Autotest executable test suites.
@item Autoconf
-create Autoconf executable configure scripts.
+this language is not useful by itself, it contains options common to
+both the @code{Autoconf-without-aclocal-m4} and
address@hidden languages. This is useful for
+customization, see @xref{Customizing autom4te}.
@item Autoconf-without-aclocal-m4
-create Autoconf executable configure scripts without
-reading @file{aclocal.m4}.
+create Autoconf executable configure scripts without reading
address@hidden This is used by the @command{aclocal} command.
+
address@hidden Autoconf-with-aclocal-m4
+create Autoconf executable configure scripts taking @file{aclocal.m4}
+into account. This is used by the @command{autoconf} command.
@end table
@item address@hidden
Index: lib/autom4te.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autom4te.in,v
retrieving revision 1.21
diff -u -r1.21 autom4te.in
--- lib/autom4te.in 3 Oct 2003 07:30:03 -0000 1.21
+++ lib/autom4te.in 17 Nov 2003 19:50:26 -0000
@@ -161,13 +161,16 @@
end-language: "Autoscan-preselections"
-## ----------------------------- ##
-## Autoconf without aclocal.m4. ##
-## ----------------------------- ##
+## ---------- ##
+## Autoconf. ##
+## ---------- ##
-# This intermediate language is used by aclocal to build aclocal.m4.
+# "Autoconf-without-aclocal-m4" is used by aclocal, while building aclocal.m4.
+# "Autoconf-with-aclocal-m4" is used by Autoconf, while building configure.
+# "Autoconf" gather common options, so that users can easily append options
+# to a single place.
-begin-language: "Autoconf-without-aclocal-m4"
+begin-language: "Autoconf"
args: --prepend-include @datadir@
args: --cache=autom4te.cache
args: autoconf/autoconf.m4f
@@ -178,17 +181,16 @@
args: --language Autoreconf-preselections
args: --language Autoscan-preselections
args: --language M4sh
-end-language: "Autoconf-without-aclocal-m4"
-
+end-language: "Autoconf"
-## ---------- ##
-## Autoconf. ##
-## ---------- ##
+begin-language: "Autoconf-without-aclocal-m4"
+args: --language Autoconf
+end-language: "Autoconf-without-aclocal-m4"
-begin-language: "Autoconf"
+begin-language: "Autoconf-with-aclocal-m4"
args: --language Autoconf-without-aclocal-m4
args: aclocal.m4?
-end-language: "Autoconf"
+end-language: "Autoconf-with-aclocal-m4"
## -------- ##
--
Alexandre Duret-Lutz
- Re: automake-1.7b feedback (4),
Alexandre Duret-Lutz <=