summaryrefslogtreecommitdiff
path: root/Porting
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2012-07-04 13:52:19 +0100
committerNicholas Clark <nick@ccl4.org>2013-05-28 09:19:29 +0200
commitfbaecb459ef5196c56a406c4b1bf5afdb5802f49 (patch)
treeef6da59c4e92692018b03461faa92321f0c4d59c /Porting
parentc8ac76a5f3ff8fbae8da6c2eaa1f3cb8b0b953ed (diff)
downloadperl-fbaecb459ef5196c56a406c4b1bf5afdb5802f49.tar.gz
bisect-runner.pl needs to probe DB_File.xs before running Configure
Commit f2f0a0ff7250e0ba (in Nov 2011), consolidated all the code that patches extensions. As a side effect, it moved all extension patching after Configure is run. Unfortunately this introduced a bug, because one test of DB_File.xs was to change the arguments to Configure to skip building DB_File at all if it's too old. Return this logic to before when Configure is run, so that bisect-runner.pl can once again build 5.005 and earlier on machines with the Berkley DB headers installed, by forcibly skipping the build of DB_File there.
Diffstat (limited to 'Porting')
-rwxr-xr-xPorting/bisect-runner.pl26
1 files changed, 17 insertions, 9 deletions
diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl
index 96278266dc..a22798ab46 100755
--- a/Porting/bisect-runner.pl
+++ b/Porting/bisect-runner.pl
@@ -1033,6 +1033,21 @@ my $major
qr/^#define\s+(?:PERL_VERSION|PATCHLEVEL)\s+(\d+)\s/,
0);
+my $unfixable_db_file;
+
+if ($major < 10
+ && !extract_from_file('ext/DB_File/DB_File.xs',
+ qr!^#else /\* Berkeley DB Version > 2 \*/$!)) {
+ # This DB_File.xs is really too old to patch up.
+ # Skip DB_File, unless we're invoked with an explicit -Unoextensions
+ if (!exists $defines{noextensions}) {
+ $defines{noextensions} = 'DB_File';
+ } elsif (defined $defines{noextensions}) {
+ $defines{noextensions} .= ' DB_File';
+ }
+ ++$unfixable_db_file;
+}
+
patch_Configure();
patch_hints();
if ($options{'all-fixups'}) {
@@ -3161,15 +3176,8 @@ EOPATCH
}
if ($major < 10) {
- if (!extract_from_file('ext/DB_File/DB_File.xs',
- qr!^#else /\* Berkeley DB Version > 2 \*/$!)) {
- # This DB_File.xs is really too old to patch up.
- # Skip DB_File, unless we're invoked with an explicit -Unoextensions
- if (!exists $defines{noextensions}) {
- $defines{noextensions} = 'DB_File';
- } elsif (defined $defines{noextensions}) {
- $defines{noextensions} .= ' DB_File';
- }
+ if ($unfixable_db_file) {
+ # Nothing we can do.
} elsif (!extract_from_file('ext/DB_File/DB_File.xs',
qr/^#ifdef AT_LEAST_DB_4_1$/)) {
# This line is changed by commit 3245f0580c13b3ab