ax_count_cpus.m4 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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) 2012 Brian Aker <brian@tangent.org>
  19. # Copyright (c) 2008 Michael Paul Bailey <jinxidoru@byu.net>
  20. # Copyright (c) 2008 Christophe Tournayre <turn3r@users.sourceforge.net>
  21. #
  22. # Copying and distribution of this file, with or without modification, are
  23. # permitted in any medium without royalty provided the copyright notice
  24. # and this notice are preserved. This file is offered as-is, without any
  25. # warranty.
  26. #serial 10
  27. AC_DEFUN([AX_COUNT_CPUS],[
  28. AC_REQUIRE([AC_CANONICAL_HOST])
  29. AC_REQUIRE([AC_PROG_EGREP])
  30. AC_MSG_CHECKING([the number of available CPUs])
  31. CPU_COUNT="0"
  32. AS_CASE([$host_os],[
  33. *darwin*],[
  34. AS_IF([test -x /usr/sbin/sysctl],[
  35. sysctl_a=`/usr/sbin/sysctl -a 2>/dev/null| grep -c hw.cpu`
  36. AS_IF([test sysctl_a],[
  37. CPU_COUNT=`/usr/sbin/sysctl -n hw.ncpu`
  38. ])
  39. ])],[
  40. *linux*],[
  41. AS_IF([test "x$CPU_COUNT" = "x0" -a -e /proc/cpuinfo],[
  42. AS_IF([test "x$CPU_COUNT" = "x0" -a -e /proc/cpuinfo],[
  43. CPU_COUNT=`$EGREP -c '^processor' /proc/cpuinfo`
  44. ])
  45. ])
  46. ])
  47. AS_IF([test "x$CPU_COUNT" = "x0"],[
  48. CPU_COUNT="1"
  49. AC_MSG_RESULT( [unable to detect (assuming 1)] )
  50. ],[
  51. AC_MSG_RESULT( $CPU_COUNT )
  52. ])
  53. ])