diff options
author | Nicholas Clark <nick@ccl4.org> | 2012-04-10 15:18:03 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2013-05-28 09:19:27 +0200 |
commit | d3232d34580154cd163884b5877f507522967067 (patch) | |
tree | 77b5d7fe567586e8fa12674214ae57b62aedca20 /Porting | |
parent | 0bc550ba196833e65284f8977c95b37af2e7de00 (diff) | |
download | perl-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-x | Porting/bisect-runner.pl | 9 | ||||
-rwxr-xr-x | Porting/bisect.pl | 12 |
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); |