X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Futilities.pm;h=48713fe9e9936bc7035ca718047c28296ebbe577;hb=ff407e675117ca15f35df4ff294d07fa43069e63;hp=87aa46d6ea7b61956e2f99a54eecc3164d18bc50;hpb=1031f333332cf1b09db4fd632f141143ee637c34;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/utilities.pm b/make/utilities.pm index 87aa46d6e..48713fe9e 100644 --- a/make/utilities.pm +++ b/make/utilities.pm @@ -34,8 +34,9 @@ use Fcntl; use File::Path; use File::Spec::Functions qw(rel2abs); use Getopt::Long; +use POSIX; -our @EXPORT = qw(module_installed prompt_bool prompt_dir prompt_string make_rpath pkgconfig_get_include_dirs pkgconfig_get_lib_dirs pkgconfig_check_version translate_functions promptstring); +our @EXPORT = qw(module_installed prompt_bool prompt_dir prompt_string get_cpu_count make_rpath pkgconfig_get_include_dirs pkgconfig_get_lib_dirs pkgconfig_check_version translate_functions promptstring); # Parse the output of a *_config program, # such as pcre_config, take out the -L @@ -87,6 +88,21 @@ sub prompt_string($$$) { return $answer ? $answer : $default; } +sub get_cpu_count { + my $count = 1; + if ($^O =~ /bsd/) { + $count = `sysctl -n hw.ncpu`; + } elsif ($^O eq 'darwin') { + $count = `sysctl -n hw.activecpu`; + } elsif ($^O eq 'linux') { + $count = `getconf _NPROCESSORS_ONLN`; + } elsif ($^O eq 'solaris') { + $count = `psrinfo -p`; + } + chomp($count); + return $count; +} + sub promptstring($$$$$) { my ($prompt, $configitem, $default, $package, $commandlineswitch) = @_;