blob: c73aca41ee80a8a5193f60712c4f764001f807c5 [file] [log] [blame]
From 0071d28e304745a16871561f23117fdb00dd2559 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Thu, 12 Mar 2020 17:25:23 +0000
Subject: [PATCH 4/7] autoreconf-exclude.patch
Upstream-Status: Inappropriate [oe specific]
---
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