]> gitweb @ CieloNegro.org - build-hc-pkg.git/blobdiff - build-hc-pkg
#cpu detection for NetBSD
[build-hc-pkg.git] / build-hc-pkg
index 1c1fe3201313da574233558fd53bb76088b5dba7..27bf1fdd72d420a763af6375c0704badc56c53b0 100755 (executable)
@@ -12,9 +12,14 @@ function detect_platform_type () {
 }
 
 function detect_number_of_cpus () {
-    case "$(detect_platform_type)" in
+    local -r platform=$(detect_platform_type)
+
+    case "$platform" in
         *-*-darwin)
-            ioreg -r -c IOCPU | fgrep -c IOCPUNumber
+            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
@@ -24,9 +29,21 @@ function detect_number_of_cpus () {
     esac
 }
 
+function detect_gnu_tar () {
+    if which gnutar >/dev/null 2>&1; then
+        echo "gnutar"
+    elif which gtar >/dev/null 2>&1; then
+        echo "gtar"
+    else
+        echo "We need GNU tar to be installed." >&2
+        exit 1
+    fi
+}
+
 function say_hello () {
     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."
 }
 
@@ -61,6 +78,7 @@ function build_hc_pkg () {
         -f mk/main.mk \
         SRCPATH="$srcpath" \
         PLATFORM="$(detect_platform_type)" \
+        GNUTAR="$(detect_gnu_tar)" \
         SHELL="$SHELL"
 
     echo "If you are done, run \"$0 clean\" to cleanup the working directory."