diff options
author | Nicholas Clark <nick@ccl4.org> | 2012-07-04 13:52:19 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2013-05-28 09:19:29 +0200 |
commit | fbaecb459ef5196c56a406c4b1bf5afdb5802f49 (patch) | |
tree | ef6da59c4e92692018b03461faa92321f0c4d59c /Porting | |
parent | c8ac76a5f3ff8fbae8da6c2eaa1f3cb8b0b953ed (diff) | |
download | perl-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-x | Porting/bisect-runner.pl | 26 |
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 |