summaryrefslogtreecommitdiff
path: root/Porting
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2021-10-05 13:40:59 +0000
committerNicholas Clark <nick@ccl4.org>2021-10-05 19:53:05 +0000
commit479479896a515fe41fae81038986ace5cab636db (patch)
tree13d65aaf8b343a98976b4895375ebd2129e1ffb0 /Porting
parent58541fd098aa0d251e855323d6cfefb3daa4ad95 (diff)
downloadperl-479479896a515fe41fae81038986ace5cab636db.tar.gz
bisect-runner.pl should add -Ilib for makedef.pl in Makefile.SH
The fix from commit 72bbce3da5eeffde: miniperl also needs -Ilib for perl.exp on AIX etc is needed to avoid build failures during parallel makes when makedef.pl is run before all the toolchain modules have been copied into lib/ Specifically -Ilib on the command line to miniperl loads buildcustomize.pl which then sets @INC to include all the toolchain modules directly, whereas setting @INC to lib in a BEGIN block doesn't trigger this complete setup. makedef.pl uses constant, which is dual life and copied from dist/constant/
Diffstat (limited to 'Porting')
-rwxr-xr-xPorting/bisect-runner.pl12
1 files changed, 12 insertions, 0 deletions
diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl
index 8520c7b85f..128cd3c460 100755
--- a/Porting/bisect-runner.pl
+++ b/Porting/bisect-runner.pl
@@ -2881,6 +2881,18 @@ $2!;
}
}
+ if ($^O eq 'aix' && $major >= 8 && $major < 28
+ && extract_from_file('Makefile.SH', qr!\Q./$(MINIPERLEXP) makedef.pl\E.*aix!)) {
+ # This is a variant the AIX part of commit 72bbce3da5eeffde:
+ # miniperl also needs -Ilib for perl.exp on AIX etc
+ edit_file('Makefile.SH', sub {
+ my $code = shift;
+ $code =~ s{(\Q./$(MINIPERLEXP)\E) (makedef\.pl.*aix)}
+ {$1 -Ilib $2};
+ return $code;
+ })
+ }
+ # This is the line before the line we've edited just above:
if ($^O eq 'aix' && $major >= 11 && $major <= 15
&& extract_from_file('makedef.pl', qr/^use Config/)) {
edit_file('Makefile.SH', sub {