summaryrefslogtreecommitdiff
path: root/Porting
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2012-04-10 15:18:03 +0200
committerNicholas Clark <nick@ccl4.org>2013-05-28 09:19:27 +0200
commitd3232d34580154cd163884b5877f507522967067 (patch)
tree77b5d7fe567586e8fa12674214ae57b62aedca20 /Porting
parent0bc550ba196833e65284f8977c95b37af2e7de00 (diff)
downloadperl-d3232d34580154cd163884b5877f507522967067.tar.gz
On HP-UX, bisect without any -j option as the system make is "special".
HP-UX system make offers parallelism with -P not -j. (But doesn't deliver on it, so we're not going to attempt to work round its crankiness and failings.)
Diffstat (limited to 'Porting')
-rwxr-xr-xPorting/bisect-runner.pl9
-rwxr-xr-xPorting/bisect.pl12
2 files changed, 13 insertions, 8 deletions
diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl
index 8797e9af90..46e6366568 100755
--- a/Porting/bisect-runner.pl
+++ b/Porting/bisect-runner.pl
@@ -348,10 +348,11 @@ to use F<gmake> in place of the system F<make>.
-j I<jobs>
-Number of C<make> jobs to run in parallel. If F</proc/cpuinfo> exists and
-can be parsed, or F</sbin/sysctl> exists and reports C<hw.ncpu>, or
-F</usr/bin/getconf> exists and reports C<_NPROCESSORS_ONLN> defaults to 1 +
-I<number of CPUs>. Otherwise defaults to 2.
+Number of C<make> jobs to run in parallel. A value of 0 suppresses
+parallelism. If F</proc/cpuinfo> exists and can be parsed, or F</sbin/sysctl>
+exists and reports C<hw.ncpu>, or F</usr/bin/getconf> exists and reports
+C<_NPROCESSORS_ONLN> defaults to 1 + I<number of CPUs>. On HP-UX with the
+system make defaults to 0, otherwise defaults to 2.
=item *
diff --git a/Porting/bisect.pl b/Porting/bisect.pl
index 7c0ba07eda..96d7b8c5af 100755
--- a/Porting/bisect.pl
+++ b/Porting/bisect.pl
@@ -11,8 +11,9 @@ Documentation for this is in bisect-runner.pl
# Which isn't what we want.
use Getopt::Long qw(:config pass_through no_auto_abbrev);
-my ($start, $end, $validate, $usage, $bad, $jobs);
-$bad = !GetOptions('start=s' => \$start, 'end=s' => \$end, 'jobs|j=i' => \$jobs,
+my ($start, $end, $validate, $usage, $bad, $jobs, $make);
+$bad = !GetOptions('start=s' => \$start, 'end=s' => \$end,
+ 'jobs|j=i' => \$jobs, 'make=s' => \$make,
validate => \$validate, 'usage|help|?' => \$usage);
unshift @ARGV, '--help' if $bad || $usage;
unshift @ARGV, '--validate' if $validate;
@@ -36,7 +37,9 @@ exit 0 if $usage;
my $start_time = time;
-if (!defined $jobs) {
+if (!defined $jobs &&
+ !($^O eq 'hpux' && system((defined $make ? $make : 'make')
+ . ' --version >/dev/null 2>&1'))) {
# Try to default to (ab)use all the CPUs:
my $cpus;
if (open my $fh, '<', '/proc/cpuinfo') {
@@ -51,7 +54,8 @@ if (!defined $jobs) {
$jobs = defined $cpus ? $cpus + 1 : 2;
}
-unshift @ARGV, '--jobs', $jobs;
+unshift @ARGV, '--jobs', $jobs if defined $jobs;
+unshift @ARGV, '--make', $make if defined $make;
# We try these in this order for the start revision if none is specified.
my @stable = qw(perl-5.005 perl-5.6.0 perl-5.8.0 v5.10.0 v5.12.0 v5.14.0);