summaryrefslogtreecommitdiff
path: root/recipes/autoconf/autoconf-2.59/autoreconf-exclude.patch
blob: 7644955519fde58e5567c52aeeb00ca7c53cbb23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
--- autoconf-2.59/bin/autoreconf.in	2004-05-06 00:27:34.000000000 -0400
+++ autoconf-2.59.new/bin/autoreconf.in	2004-05-06 00:27:46.000000000 -0400
@@ -75,6 +75,7 @@
   -f, --force              consider all files obsolete
   -i, --install            copy missing auxiliary files
   -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]
 
@@ -127,6 +128,13 @@
 # Rerun `./configure && make'?
 my $make = 0;
 
+# Steps to exclude
+my @exclude;
+my @ex;
+
+my $uses_gettext;
+my $configure_ac;
+
 ## ---------- ##
 ## Routines.  ##
 ## ---------- ##
@@ -144,6 +152,7 @@
 	  'B|prepend-include=s'	 => \@prepend_include,
 	  'i|install'            => \$install,
 	  's|symlink'            => \$symlink,
+	  'x|exclude=s'            => \@exclude,
 	  'm|make'               => \$make);
 
   # Split the warnings as a list of elements instead of a list of
@@ -152,6 +161,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
@@ -237,6 +249,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)
@@ -348,7 +365,10 @@
     }
   else
     {
-      xsystem "$autopoint";
+      @ex = grep (/^autopoint$/, @exclude);
+      if ($#ex == -1) {
+        xsystem ("$autopoint");
+      }
     }
 
 
@@ -501,7 +521,10 @@
     }
   elsif ($install)
     {
-      xsystem ($libtoolize);
+      @ex = grep (/^libtoolize$/, @exclude);
+      if ($#ex == -1) {
+        xsystem ("$libtoolize");
+      }
       $rerun_aclocal = 1;
     }
   else
@@ -541,7 +564,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");
+  }
 
 
   # -------------------- #
@@ -562,7 +588,10 @@
     }
   else
     {
-      xsystem ($autoheader);
+      @ex = grep (/^autoheader$/, @exclude);
+      if ($#ex == -1) {
+        xsystem ("$autoheader");
+      }
     }
 
 
@@ -580,7 +609,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");
+      }
     }
 
 
@@ -604,7 +636,10 @@
 	    }
 	  else
 	    {
-	      xsystem ("make");
+              @ex = grep (/^make$/, @exclude);
+              if ($#ex == -1) {
+                xsystem ("make");
+              }
 	    }
 	}
     }