X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Futilities.pm;h=48713fe9e9936bc7035ca718047c28296ebbe577;hb=1f6327977737a7989e47116e86e9e3ff8dd67656;hp=8b6c1b22517ef8e0f20fe7ec260d2785dec7dfeb;hpb=2eed59bea6f6e42c77ffd7e6061570c13f172e21;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/utilities.pm b/make/utilities.pm index 8b6c1b225..48713fe9e 100644 --- a/make/utilities.pm +++ b/make/utilities.pm @@ -36,7 +36,7 @@ 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 @@ -88,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) = @_;