Upstream-Status: Pending

Index: autoconf-2.63/bin/autoreconf.in
===================================================================
--- autoconf-2.63.orig/bin/autoreconf.in	2008-12-31 17:39:01.000000000 +0000
+++ autoconf-2.63/bin/autoreconf.in	2008-12-31 17:43:38.000000000 +0000
@@ -76,6 +76,7 @@
   -i, --install            copy missing auxiliary files
       --no-recursive       don't rebuild sub-packages
   -s, --symlink            with -i, install symbolic links instead of copies
+  -x, --exclude=STEPS      steps we should not run
   -m, --make               when applicable, re-run ./configure && make
   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [syntax]
 
@@ -136,6 +137,13 @@
 # Recurse into subpackages
 my $recursive = 1;
 
+# Steps to exclude
+my @exclude;
+my @ex;
+
+my $uses_gettext;
+my $configure_ac;
+
 ## ---------- ##
 ## Routines.  ##
 ## ---------- ##
@@ -153,6 +161,7 @@
 	  'B|prepend-include=s'	 => \@prepend_include,
 	  'i|install'            => \$install,
 	  's|symlink'            => \$symlink,
+  	  'x|exclude=s'          => \@exclude,
 	  'm|make'               => \$run_make,
 	  'recursive!'           => \$recursive);
 
@@ -162,6 +171,8 @@
   parse_WARNINGS;
   parse_warnings '--warnings', @warning;
 
+  @exclude = map { split /,/ } @exclude;
+
   # Even if the user specified a configure.ac, trim to get the
   # directory, and look for configure.ac again.  Because (i) the code
   # is simpler, and (ii) we are still able to diagnose simultaneous
@@ -255,6 +266,11 @@
 {
   my ($aclocal, $flags) = @_;
 
+  @ex = grep (/^aclocal$/, @exclude);
+  if ($#ex != -1) {
+    return;
+  }
+
   # aclocal 1.8+ does all this for free.  It can be recognized by its
   # --force support.
   if ($aclocal_supports_force)
@@ -368,7 +384,10 @@
     }
   else
     {
-      xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
+      @ex = grep (/^autopoint$/, @exclude);
+      if ($#ex == -1) {
+        xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
+      }
     }
 
 
@@ -532,16 +551,17 @@
 	{
 	  $libtoolize .= " --ltdl";
 	}
-      xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
-      $rerun_aclocal = 1;
+      @ex = grep (/^libtoolize$/, @exclude);
+      if ($#ex == -1) {
+        xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
+        $rerun_aclocal = 1;
+      }
     }
   else
     {
       verb "$configure_ac: not running libtoolize: --install not given";
     }
 
-
-
   # ------------------- #
   # Rerunning aclocal.  #
   # ------------------- #
@@ -572,7 +592,10 @@
   # latter runs the former, and (ii) autoconf is stricter than
   # autoheader.  So all in all, autoconf should give better error
   # messages.
-  xsystem ($autoconf);
+  @ex = grep (/^autoconf$/, @exclude);
+  if ($#ex == -1) {
+    xsystem ("$autoconf");
+  }
 
 
   # -------------------- #
@@ -593,7 +616,10 @@
     }
   else
     {
-      xsystem ($autoheader);
+      @ex = grep (/^autoheader$/, @exclude);
+      if ($#ex == -1) {
+        xsystem ("$autoheader");
+      }
     }
 
 
@@ -610,7 +636,10 @@
       # We should always run automake, and let it decide whether it shall
       # update the file or not.  In fact, the effect of `$force' is already
       # included in `$automake' via `--no-force'.
-      xsystem ($automake);
+      @ex = grep (/^automake$/, @exclude);
+      if ($#ex == -1) {
+        xsystem ("$automake");
+      }
     }
 
 
@@ -634,7 +663,10 @@
 	    }
 	  else
 	    {
-	      xsystem ("$make");
+              @ex = grep (/^make$/, @exclude);
+              if ($#ex == -1) {
+	        xsystem ("$make");
+              }
 	    }
 	}
     }