summaryrefslogtreecommitdiff
path: root/mk/detect-cpu-count.sh
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2018-07-06 10:57:55 -0400
committerBen Gamari <ben@smart-cactus.org>2018-07-06 14:08:37 -0400
commitde95bf40ee0af0e7da4cb6cc4e0ad33694234bb9 (patch)
tree13ee71ca22f5a3610900ad7ce49f9fa635e2c6b3 /mk/detect-cpu-count.sh
parent8c628ad9b9241dcf4ea087ca9efa5f0ca9632aa5 (diff)
downloadhaskell-de95bf40ee0af0e7da4cb6cc4e0ad33694234bb9.tar.gz
circleci: Detect core count
Test Plan: Try `./validate`, CircleCI build; make sure core count detection works in both cases. Reviewers: alpmestan Reviewed By: alpmestan Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14470 Differential Revision: https://phabricator.haskell.org/D4897
Diffstat (limited to 'mk/detect-cpu-count.sh')
-rwxr-xr-xmk/detect-cpu-count.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/mk/detect-cpu-count.sh b/mk/detect-cpu-count.sh
new file mode 100755
index 0000000000..abc47387d1
--- /dev/null
+++ b/mk/detect-cpu-count.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+detect_cpu_count () {
+ if [ "$CPUS" = "" ]; then
+ # Windows standard environment variable
+ CPUS="$NUMBER_OF_PROCESSORS"
+ fi
+
+ if [ "$CPUS" = "" ]; then
+ # Linux
+ CPUS=`getconf _NPROCESSORS_ONLN 2>/dev/null`
+ fi
+
+ if [ "$CPUS" = "" ]; then
+ # FreeBSD
+ CPUS=`getconf NPROCESSORS_ONLN 2>/dev/null`
+ fi
+
+ if [ "$CPUS" = "" ]; then
+ # nothing helped
+ CPUS="1"
+ fi
+}
+
+detect_cpu_count
+echo "$CPUS"