[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FYI: autoconf uses autom4te for traces
From: |
Akim Demaille |
Subject: |
FYI: autoconf uses autom4te for traces |
Date: |
24 Jul 2001 11:09:19 +0200 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Academic Rigor) |
Index: ChangeLog
from Akim Demaille <address@hidden>
Let autoconf use autom4te for traces.
* autoconf.in ($task, task trace): Remove, merely pass --trace to
autom4te.
* autoheader.in: Don't pass `-' to autoconf, rather, a tmp file.
(Because I found no way for autom4te to accept `-').
* autom4te.in (&Request::request): Beware of M4 builtins.
(END): Don't try to remove the content of an empty dir.
(&parse_args): Default is `$f:$l:$n:$%', not `$f:$l:$n:$*'.
(&handle_output): Set a default value to `$forbidden'.
* autoupdate.in (&verbose, &xsystem): New, from autom4te.in.
($autoconf): Pass --debug and --verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Clean up autom4te's
cache.
Index: autoconf.in
===================================================================
RCS file: /cvs/autoconf/autoconf.in,v
retrieving revision 1.126
diff -u -u -r1.126 autoconf.in
--- autoconf.in 2001/07/24 08:57:55 1.126
+++ autoconf.in 2001/07/24 09:07:51
@@ -146,13 +146,6 @@
outfile=
# Exit status.
status=0
-# Tasks:
-# - trace
-# Trace the first arguments of some macros
-# - script
-# Produce the configure script (default)
-task=script
-tmp=
verbose=:
# Parse command line.
@@ -200,14 +193,12 @@
shift ;;
--trace=* | -t?* )
- task=trace
- traces="$traces '"`echo "$optarg" | sed "s/'/'\\\\\\\\''/g"`"'"
+ traces="$traces --trace='"`echo "$optarg" | sed "s/'/'\\\\\\\\''/g"`"'"
shift ;;
--trace | -t )
test $# = 1 && eval "$exit_missing_arg"
- task=trace
shift
- traces="$traces '"`echo "$1" | sed "s/'/'\\\\\\\\''/g"`"'"
+ traces="$traces --trace='"`echo "$1" | sed "s/'/'\\\\\\\\''/g"`"'"
shift ;;
--initialization | -i )
initialization=:
@@ -245,36 +236,6 @@
esac
done
-# Trap on 0 to stop playing with `rm'.
-$debug ||
-{
- trap 'status=$?; rm -rf $tmp && exit $status' 0
- trap '(exit 1); exit 1' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-: ${TMPDIR=/tmp}
-{
- tmp=`(umask 077 && mktemp -d -q "$TMPDIR/acXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=$TMPDIR/ac$$
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in $TMPDIR" >&2
- (exit 1); exit 1;
-}
-
-# Running m4.
-test -f "$autoconf_dir/acsite.m4" && acsite_m4="$autoconf_dir/acsite.m4"
-test -f "$localdir/aclocal.m4" && aclocal_m4="$localdir/aclocal.m4"
-m4_common="-I $autoconf_dir -I $localdir -Dm4_tmpdir=$tmp"
-m4_prefiles=" $autoconf_dir/autoconf.m4 $acsite_m4 $aclocal_m4"
-m4f_prefiles="--reload-state=$autoconf_dir/autoconf.m4f $acsite_m4 $aclocal_m4"
-run_m4="$M4 $m4_common"
-
# Running autom4te.
run_autom4te="$autom4te "\
`$verbose "--verbose "`\
@@ -282,8 +243,8 @@
"--include $autoconf_dir --include $localdir "\
"--warning syntax,$warnings "\
"autoconf.m4"`$initialization || echo f`" "\
-"$acsite_m4 "\
-"$aclocal_m4 "
+`test -f "$autoconf_dir/acsite.m4" && echo "$autoconf_dir/acsite.m4"`" "\
+`test -f "$localdir/aclocal.m4" && echo "$localdir/aclocal.m4"`
# Find the input file.
case $# in
@@ -299,8 +260,9 @@
echo "$me: no input file" >&2
exit 1;;
esac
- test $task = script && test -z "$outfile" && outfile=configure;;
- 1) infile=$1 ;;
+ test -z "$traces" && test -z "$outfile" && outfile=configure;;
+ 1) # autom4te doesn't like `-'.
+ test "x$1" != "x-" && infile=$1 ;;
*) exec >&2
echo "$me: invalid number of arguments."
echo "$help"
@@ -309,376 +271,16 @@
# Unless specified, the output is stdout.
test -z "$outfile" && outfile=-
-
-# We need an actual file.
-if test z$infile = z-; then
- infile=$tmp/stdin
- cat >$infile
-elif test ! -r "$infile"; then
- echo "$me: $infile: No such file or directory" >&2
- (exit 1); exit 1
-fi
-# Initializations are performed. Proceed to the main task.
-case $task in
-
- ## --------------------------------- ##
- ## Generate the `configure' script. ##
- ## --------------------------------- ##
- script)
- # M4 expansion.
- : >$tmp/forbidden.rx
- : >$tmp/allowed.rx
- $verbose "$me: running $run_autom4te $infile --output $outfile" >&2
- $run_autom4te $infile --output $outfile ||
- { (exit 1); exit 1; }
-
- if test "x$outfile" != x-; then
- chmod +x $outfile
- fi
-
- ;; # End of the task script.
-
-
-
- ## -------------- ##
- ## Trace macros. ##
- ## -------------- ##
- trace)
-
- # trace.m4
- # --------
- # Routines to process formatted m4 traces.
- sed 's/^ //' >$tmp/trace.m4 <<\EOF
- divert(-1)
- changequote([, ])
- # _at_MODE(SEPARATOR, ELT1, ELT2...)
- # ----------------------------------
- # List the elements, separating then with SEPARATOR.
- # MODE can be:
- # `at' -- the elements are enclosed in brackets.
- # `star' -- the elements are listed as are.
- # `percent' -- the elements are `flattened': spaces are singled out,
- # and no new line remains.
- define([_at_at],
- [at_ifelse([$#], [1], [],
- [$#], [2], [[[$2]]],
- [[[$2]][$1]$0([$1], at_shift(at_shift($@)))])])
- define([_at_percent],
- [at_ifelse([$#], [1], [],
- [$#], [2], [at_flatten([$2])],
- [at_flatten([$2])[$1]$0([$1], at_shift(at_shift($@)))])])
- define([_at_star],
- [at_ifelse([$#], [1], [],
- [$#], [2], [[$2]],
- [[$2][$1]$0([$1], at_shift(at_shift($@)))])])
-
- # FLATTEN quotes its result.
- define([at_flatten],
- [at_patsubst(at_patsubst(at_patsubst([[[$1]]],
- [\\
- ]),
- [[
- ]+],
- [ ]),
- [^ *\(.*\) *$], [[\1]])])
-
- define([at_args], [at_shift(at_shift(at_shift(at_shift(at_shift($@)))))])
- define([at_at], [_$0([$1], at_args($@))])
- define([at_percent], [_$0([$1], at_args($@))])
- define([at_star], [_$0([$1], at_args($@))])
-
-EOF
-
- # If you trace `define', then on `define([m4_exit], defn([m4exit])' you
- # will produce
- #
- # AT_define([m4sugar.m4], [115], [1], [define], [m4_exit], <m4exit>)
- #
- # Since `<m4exit>' is not quoted, the outter m4, when processing
- # `trace.m4' will exit prematurely. Hence, move all the builtins to
- # the `at_' name space.
- echo '# Copy the builtins.' >>$tmp/trace.m4
- echo "dumpdef" |
- $M4 2>&1 >/dev/null |
- sed 's/^\([^:]*\):.*/define([at_\1], defn([\1]))/' >>$tmp/trace.m4
- echo >>$tmp/trace.m4
-
- echo '# Disable the builtins.' >>$tmp/trace.m4
- echo "dumpdef" |
- $M4 2>&1 >/dev/null |
- sed 's/^\([^:]*\):.*/at_undefine([\1])/' >>$tmp/trace.m4
- echo >>$tmp/trace.m4
-
-
- # trace2m4.sed
- # ------------
- # Transform the traces from m4 into an m4 input file.
- # Typically, transform:
- #
- # | m4trace:configure.ac:3: -1- AC_SUBST([exec_prefix], [NONE])
- #
- # into
- #
- # | AT_AC_SUBST([configure.ac], [3], [1], [AC_SUBST], [exec_prefix], [NONE])
- #
- # Pay attention that the file name might include colons, if under DOS
- # for instance, so we don't use `[^:][^:]*'.
- # The first s/// catches multiline traces, the second, traces as above.
- preamble='m4trace:\(..*\):\([0-9][0-9]*\): -\([0-9][0-9]*\)-'
- cat >$tmp/trace2m4.sed <<EOF
- s/^$preamble \([^(][^(]*\)(\(.*\)$/AT_\4([\1], [\2], [\3], [\4], \5/
- s/^$preamble \(.*\)$/AT_\4([\1], [\2], [\3], [\4])/
-EOF
-
- # translate.awk
- # -------------
- # Translate user tracing requests into m4 macros.
- cat >$tmp/translate.awk <<\EOF
- function trans (arg, sep)
- {
- # File name.
- if (arg == "f")
- return "$1"
- # Line number.
- if (arg == "l")
- return "$2"
- # Depth.
- if (arg == "d")
- return "$3"
- # Name (also available as $0).
- if (arg == "n")
- return "$4"
- # Escaped dollar.
- if (arg == "$")
- return "$"
-
- # $@, list of quoted effective arguments.
- if (arg == "@")
- return "]at_at([" (separator ? separator : ",") "], $@)["
- # $*, list of unquoted effective arguments.
- if (arg == "*")
- return "]at_star([" (separator ? separator : ",") "], $@)["
- # $%, list of flattened unquoted effective arguments.
- if (arg == "%")
- return "]at_percent([" (separator ? separator : ":") "], $@)["
- }
-
- function error (message)
- {
- print message | "cat >&2"
- exit 1
- }
-
- {
- # Accumulate the whole input.
- request = request $0 "\n"
- }
-
- END {
- # Chomp.
- request = substr (request, 1, length (request) - 1)
- # The default request is `$f:$l:$n:$*'.
- colon = index (request, ":")
- macro = colon ? substr (request, 1, colon - 1) : request
- request = colon ? substr (request, colon + 1) : "$f:$l:$n:$%"
-
- res = ""
-
- for (cp = request; cp; cp = substr (cp, 2))
- {
- char = substr (cp, 1, 1)
- if (char == "$")
- {
- if (match (cp, /^\$[0-9]+/))
- {
- # $n -> $(n + 4)
- res = res "$" (substr (cp, 2, RLENGTH - 1) + 4)
- cp = substr (cp, RLENGTH)
- }
- else if (substr (cp, 2, 1) ~ /address@hidden/)
- {
- # $x, no separator given.
- res = res trans(substr (cp, 2, 1))
- cp = substr (cp, 2)
- }
- else if (substr (cp, 2, 1) == "{")
- {
- # ${sep}x, long separator.
- end = index (cp, "}")
- if (!end)
- error("invalid escape: " cp)
- separator = substr (cp, 3, end - 3)
- if (substr (cp, end + 1, 1) ~ /address@hidden/)
- res = res trans(substr (cp, end + 1, 1), separator)
- else
- error("invalid escape: " cp)
- cp = substr (cp, end + 1)
- }
- else if (substr (cp, 3, 1) ~ /address@hidden/)
- {
- # $sx, short separator `s'.
- res = res trans(substr (cp, 3, 1), substr (cp, 2, 1))
- cp = substr(cp, 3)
- }
- else
- {
- error("invalid escape: " substr (cp, 1, 2))
- }
- }
- else
- res = res char
- }
-
- # Produce the definition of AT_<MACRO> = the translation of the request.
- print "at_define([AT_" macro "],"
- print "[[" res "]])"
- print ""
- close("cat >&2")
- }
-EOF
-
-
- # Extract both the m4 program and the m4 options from TRACES.
- echo "## ------------------------- ##" >>$tmp/trace.m4
- echo "## Trace processing macros. ##" >>$tmp/trace.m4
- echo "## ------------------------- ##" >>$tmp/trace.m4
- echo >>$tmp/trace.m4
-
- eval set dummy "$traces"
- shift
- for trace
- do
- echo "# $trace" >>$tmp/trace.m4
-
- # The request may be several lines long, hence sed has to quit.
- macro_name=`echo "$trace" | sed 's/:.*//;q'`
- # If for instance TRACE is `define', be sure to have an empty
- # TRACE_FORMAT.
- case $trace in
- $macro_name:* )
- trace_format=`echo "$trace" | sed "1s/^$macro_name:/:/"`;;
- * )
- trace_format=;;
- esac
+# Autom4te expansion.
+eval set dummy "$traces"
+shift
+$verbose "$me: running $run_autom4te ""$@"" $infile --output $outfile" >&2
+$run_autom4te "$@" $infile --output $outfile ||
+ { (exit 1); exit 1; }
- # GNU M4 1.4's tracing of builtins is buggy. When run on this input:
- #
- # | divert(-1)
- # | changequote([, ])
- # | define([m4_eval], defn([eval]))
- # | eval(1)
- # | m4_eval(2)
- # | undefine([eval])
- # | m4_eval(3)
- #
- # it behaves this way:
- #
- # | % m4 input.m4 -da -t eval
- # | m4trace: -1- eval(1)
- # | m4trace: -1- m4_eval(2)
- # | m4trace: -1- m4_eval(3)
- # | %
- #
- # Conversely:
- #
- # | % m4 input.m4 -da -t m4_eval
- # | %
- #
- # So we will merge them, i.e. tracing `BUILTIN' or tracing
- # `m4_BUILTIN' will be the same: tracing both, but honoring the
- # *last* trace specification.
- # FIXME: This is not enough: in the output `$0' will be `BUILTIN'
- # sometimes and `m4_BUILTIN' at others. We should render a unique name,
- # the one specified by the user.
- base_name=`echo "$macro_name" | sed 's/^m4_//'`
- if echo "ifdef(\`$base_name', \`', \`m4exit(-1)')" | $M4; then
- # BASE_NAME is a builtin.
- trace_opt="$trace_opt -t $base_name -t m4_$base_name"
- echo "$base_name$trace_format" |
- $AWK -f $tmp/translate.awk >>$tmp/trace.m4 ||
- { (exit 1); exit 1; }
- echo "m4_$base_name$trace_format" |
- $AWK -f $tmp/translate.awk >>$tmp/trace.m4 ||
- { (exit 1); exit 1; }
- else
- # MACRO_NAME is not a builtin.
- trace_opt="$trace_opt -t $macro_name"
- echo "$trace" |
- $AWK -f $tmp/translate.awk >>$tmp/trace.m4 ||
- { (exit 1); exit 1; }
- fi
- echo >>$tmp/trace.m4
- done
-
- echo "## ------------------- ##" >>$tmp/trace.m4
- echo "## Traces to process. ##" >>$tmp/trace.m4
- echo "## ------------------- ##" >>$tmp/trace.m4
- echo >>$tmp/trace.m4
- echo "at_divert(0)at_dnl" >>$tmp/trace.m4
-
- # Do we trace the initialization?
- # `errprint' must be silent, otherwise there can be warnings mixed
- # with traces in m4's stderr.
- run_m4_trace="$run_m4 $trace_opt -daflq -Derrprint"
- if $initialization; then
- trace_prefiles="$m4_prefiles"
- else
- trace_prefiles="$m4f_prefiles"
- fi
-
- # Run m4 on the input file to get traces.
- #
- # We used to have a simple pipe, which was very convenient as it
- # allows to use traces on never ending expansions (i.e., when
- # debugging :) but it is requires to keep error messages *and*
- # traces in stderr. This is too fragile, as it results in
- # unexpected data in the output. autoheader has been fragile to
- # this.
- $verbose "$me: running $run_m4_trace $trace_prefiles $infile -o $tmp/traces"
>&2
- $run_m4_trace $trace_prefiles $infile -o $tmp/traces >/dev/null ||
- {
- echo "$me: tracing failed" >&2
- (exit 1); exit 1
- }
-
- # Output is produced into FD 4. Prepare it.
- case $outfile in
- -) # Output to stdout
- exec 4>&1 ;;
- * )
- exec 4>$outfile;;
- esac
-
- $verbose "$me: running $M4 $tmp/trace.m4" >&2
- sed -f $tmp/trace2m4.sed $tmp/traces |
- # Now we are ready to run m4 to process the trace file.
- if $debug; then
- cat >>$tmp/trace.m4
- $M4 $tmp/trace.m4
- else
- $M4 $tmp/trace.m4 -
- fi |
- # It makes no sense to try to transform __oline__.
- sed '
- s/@<:@/[/g
- s/@:>@/]/g
- s/@S|@/$/g
- s/@%:@/#/g
- ' >&4 ||
- {
- echo "$me: traces formatting failed" >&2
- (exit 1); exit 1
- }
- ;;
-
-
- ## ------------ ##
- ## Unknown task ##
- ## ------------ ##
-
- *) echo "$me: internal error: unknown task: $task" >&2
- (exit 1); exit 1
-esac
+if test -z "$traces" && test "x$outfile" != x-; then
+ chmod +x $outfile
+fi
(exit $status); exit $status
Index: autoheader.in
===================================================================
RCS file: /cvs/autoconf/autoheader.in,v
retrieving revision 1.99
diff -u -u -r1.99 autoheader.in
--- autoheader.in 2001/06/02 05:50:15 1.99
+++ autoheader.in 2001/07/24 09:07:51
@@ -122,7 +122,7 @@
shift ;;
--autoconf-dir=* | -A?* )
- autoconf_dir=$optarg
+ autoconf_dir=$optarg
shift ;;
--autoconf-dir | -A )
test $# = 1 && eval "$exit_missing_arg"
@@ -238,8 +238,17 @@
* )
echo "$me: no input file" >&2
(exit 1); exit 1;;
- esac;;
- 1) infile=$1 ;;
+ esac
+ infilename=$infile
+ ;;
+ 1) if test "x$1" = "x-"; then
+ cat >$tmp/stdin
+ infile=$tmp/stdin
+ else
+ infile=$1
+ fi
+ infilename="Standard input"
+ ;;
*) exec >&2
echo "$me: invalid number of arguments."
echo "$help"
@@ -247,7 +256,9 @@
esac
# Set up autoconf.
-autoconf="$autoconf -l $localdir"
+autoconf="$autoconf -l $localdir "\
+`$verbose "--verbose "`\
+`$debug && echo "--debug "`
export autoconf_dir
# ----------------------- #
@@ -299,7 +310,7 @@
# Don't write "do not edit" -- it will get copied into the
# config.h, which it's ok to edit.
cat <<EOF >$tmp/config.hin
-/* $config_h_in. Generated automatically from $infile by autoheader. */
+/* $config_h_in. Generated automatically from $infilename by autoheader. */
EOF
# Dump the top.
Index: autom4te.in
===================================================================
RCS file: /cvs/autoconf/autom4te.in,v
retrieving revision 1.4
diff -u -u -r1.4 autom4te.in
--- autom4te.in 2001/07/24 08:57:55 1.4
+++ autom4te.in 2001/07/24 09:07:51
@@ -128,7 +128,9 @@
{
if (! exists ${$obj->macro}{$_})
{
+ s/^m4_//;
${$obj->macro}{$_} = 1;
+ ${$obj->macro}{"m4_$_"} = 1;
$obj->valid (0);
}
}
@@ -320,8 +322,11 @@
if (!$debug && defined $tmp && -d $tmp)
{
- unlink <$tmp/*>
- or warn ("$me: cannot empty $tmp: $!\n"), _exit (1);
+ if (<$tmp/*>)
+ {
+ unlink <$tmp/*>
+ or warn ("$me: cannot empty $tmp: $!\n"), _exit (1);
+ }
rmdir $tmp
or warn ("$me: cannot remove $tmp: $!\n"), _exit (1);
}
@@ -374,7 +379,7 @@
if -f File::Spec->catfile ($path, $filename)
}
- die "$me: programming error";
+ die "$me: programming error: $filename";
}
@@ -418,7 +423,7 @@
Report bugs to <address@hidden>.
EOF
- # Help font-lock: `
+ # Help font-lock-mode find an closing back quote: `
exit 0;
}
@@ -467,22 +472,22 @@
# instead of mapping `FOO' to undef, Getopt maps it to `1', preventing
# us from distinguishing `-t FOO' from `-t FOO=1'. So let's do it
# by hand.
- "t|trace=s" => address@hidden,
+ "t|trace=s" => address@hidden,
)
or exit 1;
+ die "$me: too few arguments
+Try `$me --help' for more information.\n"
+ unless @ARGV;
+
# Convert @trace to %trace.
- # The default format is `$f:$l:$n:$*'.
+ # The default format is `$f:$l:$n:$%'.
foreach (@trace)
{
- /^([^:]+)(?::(.*))?$/;
- $trace{$1} = defined $2 ? $2 : '$f:$l:$n:$*';
+ /^([^:]+)(?::(.*))?$/ms;
+ $trace{$1} = defined $2 ? $2 : '$f:$l:$n:$%';
}
- die "$me: too few arguments
-Try `$me --help' for more information.\n"
- unless @ARGV;
-
# We don't want to depend upon m4's --include to find the top level
# files. Try to get a canonical name, as it's a key for caching.
for (my $i = 0; $i < $#ARGV; ++$i)
@@ -551,7 +556,7 @@
verbose "creating $output";
# Load the forbidden/allowed patterns.
- my $forbidden;
+ my $forbidden = "^\$";
if (-f "$tmp/forbidden.rx")
{
my $fh = new IO::File ("$tmp/forbidden.rx");
@@ -980,8 +985,8 @@
## Main program. ##
## -------------- ##
-parse_args;
mktmpdir ('t4');
+parse_args;
# We need our cache directory.
if (! -d "$me.cache")
Index: autoupdate.in
===================================================================
RCS file: /cvs/autoconf/autoupdate.in,v
retrieving revision 1.12
diff -u -u -r1.12 autoupdate.in
--- autoupdate.in 2001/05/22 14:04:22 1.12
+++ autoupdate.in 2001/07/24 09:07:51
@@ -67,6 +67,15 @@
}
+# verbose
+# -------
+sub verbose (@)
+{
+ print STDERR "$me: ", @_, "\n"
+ if $verbose;
+}
+
+
# END
# ---
# Exit nonzero whenever closing STDOUT fails.
@@ -97,6 +106,23 @@
}
+# xsystem ($COMMAND)
+# ------------------
+sub xsystem ($)
+{
+ my ($command) = @_;
+
+ verbose "running: $command";
+
+ (system $command) == 0
+ or die ("$me: "
+ . (split (' ', $command))[0]
+ . " failed with exit status: "
+ . ($? >> 8)
+ . "\n");
+}
+
+
# print_usage ()
# --------------
# Display usage (--help).
@@ -105,19 +131,19 @@
print <<"END";
Usage: $0 [OPTION] ... [TEMPLATE-FILE...]
-Update the TEMPLATE-FILE... if given, or \`configure.ac' if present,
-or else \`configure.in', to the syntax of the current version of
+Update the TEMPLATE-FILE... if given, or \`configure.ac\' if present,
+or else \`configure.in\', to the syntax of the current version of
Autoconf. The original files are backed up.
Operation modes:
-h, --help print this help, then exit
-V, --version print version number, then exit
-v, --verbose verbosely report processing
- -d, --debug don't remove temporary files
+ -d, --debug don\'t remove temporary files
Library directories:
- -A, --autoconf-dir=ACDIR Autoconf's macro files location (rarely needed)
- -l, --localdir=DIR location of \`aclocal.m4'
+ -A, --autoconf-dir=ACDIR Autoconf\'s macro files location (rarely needed)
+ -l, --localdir=DIR location of \`aclocal.m4\'
Environment variables:
M4 GNU M4 1.4 or above
@@ -186,8 +212,10 @@
'V|version' => \&print_version,
'v|verbose' => \$verbose)
or exit 1;
+
push @ARGV, '-'
if $update_stdin;
+
if (! @ARGV)
{
my $configure_ac = find_configure_ac;
@@ -237,8 +265,9 @@
find_slaves;
parse_args;
mktmpdir;
-$autoconf .= " --autoconf-dir $autoconf_dir --localdir $localdir";
-
+$autoconf .= " --autoconf-dir $autoconf_dir --localdir $localdir ";
+$autoconf .= "--debug " if $debug;
+$autoconf .= "--verbose " if $verbose;
# @M4_BUILTINS -- M4 builtins and a useful comment.
my @m4_builtins = `echo dumpdef | $m4 2>&1 >/dev/null`;
@@ -306,7 +335,7 @@
's/\b(' . join ('|', keys %au_macros) . ')\b/_au_changequote([,])$1/g';
# au.m4 -- definitions the AU macros.
-system ("$autoconf --trace AU_DEFUN:'_au_defun(\@<:address@hidden@:>\@,
+xsystem ("$autoconf --trace AU_DEFUN:'_au_defun(\@<:address@hidden@:>\@,
\@<:address@hidden@:>\@)' -i /dev/null "
. ">$tmp/au.m4");
Index: tests/atspecific.m4
===================================================================
RCS file: /cvs/autoconf/tests/atspecific.m4,v
retrieving revision 1.46
diff -u -u -r1.46 atspecific.m4
--- tests/atspecific.m4 2001/06/25 18:27:51 1.46
+++ tests/atspecific.m4 2001/07/24 09:07:51
@@ -44,7 +44,7 @@
# Also remove `configure.in', just in case one remained from a previous
# run.
m4_define([AT_CHECK_AUTOCONF],
-[AT_CLEANUP_FILES(configure.in configure)dnl
+[AT_CLEANUP_FILES(configure.in configure autom4te.cache)dnl
AT_CHECK([autoconf --autoconf-dir .. -l $at_srcdir $1],
m4_default([$2], [0]), [$3], [$4])])
Index: tests/tools.at
===================================================================
RCS file: /cvs/autoconf/tests/tools.at,v
retrieving revision 1.32
diff -u -u -r1.32 tools.at
--- tests/tools.at 2001/05/22 14:43:50 1.32
+++ tests/tools.at 2001/07/24 09:07:51
@@ -340,7 +340,7 @@
]])
AT_CHECK([autoheader --autoconf-dir .. -<configure.ac], 0,
-[[/* config.h.in. Generated automatically from - by autoheader. */
+[[/* config.h.in. Generated automatically from Standard input by autoheader.
*/
/* Define this to whatever you want. */
#undef this
]], ignore)
@@ -382,7 +382,7 @@
# the AH_TOP part. But so what, you're not supposed to use the two
# together.
AT_CHECK([autoheader --autoconf-dir .. -<configure.ac], 0,
-[[/* config.h.in. Generated automatically from - by autoheader. */
+[[/* config.h.in. Generated automatically from Standard input by autoheader.
*/
/* Top from acconfig.h. */
/* Middle from acconfig.h. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- FYI: autoconf uses autom4te for traces,
Akim Demaille <=