autoconf-patches
[Top][All Lists]
Advanced

[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. */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]