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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
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");
+ }
}
}
}
|