summaryrefslogtreecommitdiff
path: root/Porting
diff options
context:
space:
mode:
authorTony Cook <tony@develop-help.com>2022-10-10 14:42:05 +1100
committerTony Cook <tony@develop-help.com>2022-10-24 15:24:57 +1100
commit59410fb703db676a06bec181cf0ff0e1117edead (patch)
tree73e70ca302a314d3276eb284055ef4c5c164803f /Porting
parent4004a8e50218eeeaceaa71474355c3ab31a64c39 (diff)
downloadperl-59410fb703db676a06bec181cf0ff0e1117edead.tar.gz
CI/dist-modules: make sure threads, threads::shared use ppport.h
It turns out the Makefile.PL for both these distributions define the HAS_PPPORT_H symbol so they both only include ppport.h when built from CPAN. We need them to include ppport.h for our testing, so define it here too.
Diffstat (limited to 'Porting')
-rw-r--r--Porting/test-dist-modules.pl13
1 files changed, 12 insertions, 1 deletions
diff --git a/Porting/test-dist-modules.pl b/Porting/test-dist-modules.pl
index cd983f8051..0db27ae26e 100644
--- a/Porting/test-dist-modules.pl
+++ b/Porting/test-dist-modules.pl
@@ -38,6 +38,13 @@ if ($separate) {
"$install_base/lib/perl5";
}
+my %dist_config = (
+ # these are defined by the modules as distributed on CPAN
+ # I don't know why their Makefile.PLs aren't in core
+ "threads" => [ "DEFINE=-DHAS_PPPORT_H" ],
+ "threads-shared" => [ "DEFINE=-DHAS_PPPORT_H" ],
+ );
+
my $start = getcwd()
or die "Cannot fetch current directory: $!\n";
@@ -178,7 +185,11 @@ EOM
my $verbose = $github_ci && $ENV{'RUNNER_DEBUG'} ? 1 : 0;
my $failed = "";
- if (system($^X, "Makefile.PL", @config)) {
+ my @my_config = @config;
+ if (my $cfg = $dist_config{$name}) {
+ push @my_config, @$cfg;
+ }
+ if (system($^X, "Makefile.PL", @my_config)) {
$failed = "Makefile.PL";
die "$name: Makefile.PL failed\n" unless $continue;
}