• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ===========================================================================
2#       http://www.gnu.org/software/autoconf-archive/ax_count_cpus.html
3# ===========================================================================
4#
5# SYNOPSIS
6#
7#   AX_COUNT_CPUS
8#
9# DESCRIPTION
10#
11#   Attempt to count the number of processors present on the machine. If the
12#   detection fails, then a value of 1 is assumed.
13#
14#   The value is placed in the CPU_COUNT variable.
15#
16# LICENSE
17#
18#   Copyright (c) 2014 Karlson2k (Evgeny Grin) <k2k@narod.ru>
19#   Copyright (c) 2012 Brian Aker <brian@tangent.org>
20#   Copyright (c) 2008 Michael Paul Bailey <jinxidoru@byu.net>
21#   Copyright (c) 2008 Christophe Tournayre <turn3r@users.sourceforge.net>
22#
23#   Copying and distribution of this file, with or without modification, are
24#   permitted in any medium without royalty provided the copyright notice
25#   and this notice are preserved. This file is offered as-is, without any
26#   warranty.
27
28#serial 10
29
30  AC_DEFUN([AX_COUNT_CPUS],[
31      AC_REQUIRE([AC_CANONICAL_HOST])
32      AC_REQUIRE([AC_PROG_EGREP])
33      AC_MSG_CHECKING([the number of available CPUs])
34      CPU_COUNT="0"
35
36      AS_CASE([$host_os],[
37        *darwin*],[
38        AS_IF([test -x /usr/sbin/sysctl],[
39          sysctl_a=`/usr/sbin/sysctl -a 2>/dev/null| grep -c hw.cpu`
40          AS_IF([test sysctl_a],[
41            CPU_COUNT=`/usr/sbin/sysctl -n hw.ncpu`
42            ])
43          ])],[
44        *linux*],[
45        AS_IF([test "x$CPU_COUNT" = "x0" -a -e /proc/cpuinfo],[
46          AS_IF([test "x$CPU_COUNT" = "x0" -a -e /proc/cpuinfo],[
47            CPU_COUNT=`$EGREP -c '^processor' /proc/cpuinfo`
48            ])
49          ])],[
50        *mingw*],[
51        AS_IF([test -n "$NUMBER_OF_PROCESSORS"],[
52          CPU_COUNT="$NUMBER_OF_PROCESSORS"
53          ])],[
54        *cygwin*],[
55        AS_IF([test -n "$NUMBER_OF_PROCESSORS"],[
56          CPU_COUNT="$NUMBER_OF_PROCESSORS"
57          ])
58        ])
59
60      AS_IF([test "x$CPU_COUNT" = "x0"],[
61        CPU_COUNT="1"
62        AC_MSG_RESULT( [unable to detect (assuming 1)] )
63        ],[
64        AC_MSG_RESULT( $CPU_COUNT )
65        ])
66      ])
67