From 0071d28e304745a16871561f23117fdb00dd2559 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 12 Mar 2020 17:25:23 +0000 Subject: [PATCH 4/7] autoreconf-exclude.patch --- bin/autoreconf.in | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/bin/autoreconf.in b/bin/autoreconf.in index bb9f316d..7da3005b 100644 --- a/bin/autoreconf.in +++ b/bin/autoreconf.in @@ -82,6 +82,7 @@ Operation modes: -i, --install copy missing standard 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] @@ -141,6 +142,10 @@ my $run_make = 0; # Recurse into subpackages my $recursive = 1; +# Steps to exclude +my @exclude; +my @ex; + ## ---------- ## ## Routines. ## ## ---------- ## @@ -161,6 +166,7 @@ sub parse_args () 'B|prepend-include=s' => \@prepend_include, 'i|install' => \$install, 's|symlink' => \$symlink, + 'x|exclude=s' => \@exclude, 'm|make' => \$run_make, 'recursive!' => \$recursive); @@ -170,6 +176,8 @@ sub parse_args () parse_WARNINGS; parse_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 @@ -493,8 +501,11 @@ sub autoreconf_current_directory ($) } else { + @ex = grep (/^autopoint$/, @exclude); + if ($#ex == -1) { xsystem_hint ("autopoint is needed because this package uses Gettext", $autopoint); + } } @@ -687,9 +698,12 @@ sub autoreconf_current_directory ($) { $libtoolize .= " --ltdl"; } + @ex = grep (/^libtoolize$/, @exclude); + if ($#ex == -1) { xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize); $rerun_aclocal = 1; + } } else { @@ -726,8 +740,11 @@ sub autoreconf_current_directory ($) } elsif ($install) { + @ex = grep (/^gtkdocize$/, @exclude); + if ($#ex == -1) { xsystem_hint ("gtkdocize is needed because this package uses Gtkdoc", $gtkdocize); + } } else { @@ -765,7 +782,10 @@ sub autoreconf_current_directory ($) # latter runs the former, and (ii) autoconf is stricter than # autoheader. So all in all, autoconf should give better error # messages. + @ex = grep (/^autoconf$/, @exclude); + if ($#ex == -1) { xsystem ($autoconf); + } # -------------------- # @@ -786,7 +806,10 @@ sub autoreconf_current_directory ($) } else { + @ex = grep (/^autoheader$/, @exclude); + if ($#ex == -1) { xsystem ($autoheader); + } } @@ -803,7 +826,10 @@ sub autoreconf_current_directory ($) # 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'. + @ex = grep (/^automake$/, @exclude); + if ($#ex == -1) { xsystem ($automake); + } } # ---------------------------------------------------- # -- 2.25.1