Home | History | Annotate | Download | only in m4
      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 (a] narod.ru>
     19 #   Copyright (c) 2012 Brian Aker <brian (a] tangent.org>
     20 #   Copyright (c) 2008 Michael Paul Bailey <jinxidoru (a] byu.net>
     21 #   Copyright (c) 2008 Christophe Tournayre <turn3r (a] 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