X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=build-hc-pkg;h=868039eb12fdf73432dd9042d2e61be04e0464c2;hb=2a3f4cc52b80621fa709e77ebc824847a6bf1709;hp=14ef15e5ade04e1f67f5fea489476bcd65e9722d;hpb=9ce7d7cfab6f5795e9f90a1b07bbba8f8d6c0a5d;p=build-hc-pkg.git diff --git a/build-hc-pkg b/build-hc-pkg index 14ef15e..868039e 100755 --- a/build-hc-pkg +++ b/build-hc-pkg @@ -12,21 +12,17 @@ function detect_platform_type () { } function detect_number_of_cpus () { - local -r platform=$(detect_platform_type) - - case "$platform" in - *-*-darwin*) - ioreg -r -c IOCPU | fgrep -c \"IOCPUNumber\" - ;; - *-*-netbsd*) - cat /proc/cpuinfo | grep -cE 'processor[[:space:]]*:' - ;; - *) - echo "WARNING: I don't know how to detect the number of processors on this platform." >&2 - echo "WARNING: GHC will be built using only 1 processor. Expect some slowdown." >&2 - echo 1 - ;; - esac + if sysctl -n "hw.ncpu" 2>/dev/null; then + # This works for most BSDs. + : + elif grep -qF processor /proc/cpuinfo 2>/dev/null; then + # Linux sucks... + grep -cF processor /proc/cpuinfo + else + echo "WARNING: I don't know how to detect the number of processors on this platform." >&2 + echo "WARNING: GHC will be built using only 1 processor. Expect some slowdown." >&2 + echo 1 + fi } function detect_gnu_tar () { @@ -41,10 +37,16 @@ function detect_gnu_tar () { } function say_hello () { + local -r self=$(basename "$0") local -r platform=$(detect_platform_type) local -r n_cpus=$(detect_number_of_cpus) - echo "This is build-hc-pkg, running on $platform with $n_cpus processors." + echo -n "This is $self, running on $platform with $n_cpus " + if (( $n_cpus == 1 )); then + echo "processor." + else + echo "processors." + fi } function srcpath () {