diff options
author | Jens Arnold <amiconn@rockbox.org> | 2010-03-21 14:35:03 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2010-03-21 14:35:03 +0000 |
commit | be384e845129b677e70d877fe914f2cab0900abf (patch) | |
tree | 3b65e97ed335eefe35c6c0d1233be34caac427d0 | |
parent | 18e7c1f4af9593bfd8ce8bfcd4b594ed7211b6e9 (diff) | |
download | rockbox-be384e845129b677e70d877fe914f2cab0900abf.tar.gz rockbox-be384e845129b677e70d877fe914f2cab0900abf.zip |
Make multigcc.pl actually use more than one core on OS X and opensolaris.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25274 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-x | tools/multigcc.pl | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/tools/multigcc.pl b/tools/multigcc.pl index fbe7c17aae..5222f61b49 100755 --- a/tools/multigcc.pl +++ b/tools/multigcc.pl | |||
@@ -1,4 +1,5 @@ | |||
1 | #!/usr/bin/perl | 1 | #!/usr/bin/perl |
2 | use Switch; | ||
2 | use List::Util 'shuffle'; # standard from Perl 5.8 and later | 3 | use List::Util 'shuffle'; # standard from Perl 5.8 and later |
3 | 4 | ||
4 | my $tempfile = "multigcc.out"; | 5 | my $tempfile = "multigcc.out"; |
@@ -24,10 +25,25 @@ my $command = join " ", @params; | |||
24 | @files = shuffle(@files); | 25 | @files = shuffle(@files); |
25 | 26 | ||
26 | # count number of cores | 27 | # count number of cores |
27 | my $cores = 1; | 28 | my $cores; |
28 | if (open CPUINFO, "</proc/cpuinfo") { | 29 | switch($^O) { |
29 | $cores = scalar grep /^processor/i, <CPUINFO>; | 30 | case "darwin" { |
30 | close CPUINFO; | 31 | chomp($cores = `sysctl -n hw.ncpu`); |
32 | $cores = 1 if ($?); | ||
33 | } | ||
34 | case "solaris" { | ||
35 | $cores = scalar grep /on-line/i, `psrinfo`; | ||
36 | $cores = 1 if ($?); | ||
37 | } | ||
38 | else { | ||
39 | if (open CPUINFO, "</proc/cpuinfo") { | ||
40 | $cores = scalar grep /^processor/i, <CPUINFO>; | ||
41 | close CPUINFO; | ||
42 | } | ||
43 | else { | ||
44 | $cores = 1; | ||
45 | } | ||
46 | } | ||
31 | } | 47 | } |
32 | 48 | ||
33 | # don't run empty children | 49 | # don't run empty children |