X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=build-hc-pkg.git;a=blobdiff_plain;f=build-hc-pkg;h=e900fcfae14f44a209c2e47f40d37afb98be266e;hp=0c9069e613629c07e20bc6335d94be429c31d9bd;hb=HEAD;hpb=c4272cb4638c1628b2559b0b7374faa4ea532576 diff --git a/build-hc-pkg b/build-hc-pkg index 0c9069e..e900fcf 100755 --- a/build-hc-pkg +++ b/build-hc-pkg @@ -12,7 +12,13 @@ function detect_platform_type () { } function detect_number_of_cpus () { - if ! sysctl -n hw.ncpu 2>/dev/null; then + 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 @@ -30,6 +36,17 @@ function detect_gnu_tar () { fi } +function detect_gnu_sed () { + if which gsed >/dev/null 2>&1; then + echo "gsed" + elif sed --version | grep -qF GNU; then + echo "sed" + else + echo "We need GNU sed to be installed." >&2 + exit 1 + fi +} + function say_hello () { local -r self=$(basename "$0") local -r platform=$(detect_platform_type) @@ -75,6 +92,7 @@ function build_hc_pkg () { SRCPATH="$srcpath" \ PLATFORM="$(detect_platform_type)" \ GNUTAR="$(detect_gnu_tar)" \ + GNUSED="$(detect_gnu_sed)" \ SHELL="$SHELL" echo "If you are done, run \"$0 clean\" to cleanup the working directory."