| tuklib_cpucores.m4 | tuklib_cpucores.m4 | |||
|---|---|---|---|---|
| skipping to change at line 12 | skipping to change at line 12 | |||
| # SYNOPSIS | # SYNOPSIS | |||
| # | # | |||
| # TUKLIB_CPUCORES | # TUKLIB_CPUCORES | |||
| # | # | |||
| # DESCRIPTION | # DESCRIPTION | |||
| # | # | |||
| # Check how to find out the number of available CPU cores in the system. | # Check how to find out the number of available CPU cores in the system. | |||
| # This information is used by tuklib_cpucores.c. | # This information is used by tuklib_cpucores.c. | |||
| # | # | |||
| # Supported methods: | # Supported methods: | |||
| # - GetSystemInfo(): Windows (including Cygwin) | ||||
| # - sysctl(): BSDs, OS/2 | # - sysctl(): BSDs, OS/2 | |||
| # - sysconf(): GNU/Linux, Solaris, Tru64, IRIX, AIX, Cygwin | # - sysconf(): GNU/Linux, Solaris, Tru64, IRIX, AIX, Cygwin (but | |||
| # GetSystemInfo() is used on Cygwin) | ||||
| # - pstat_getdynamic(): HP-UX | # - pstat_getdynamic(): HP-UX | |||
| # | # | |||
| # COPYING | # COPYING | |||
| # | # | |||
| # Author: Lasse Collin | # Author: Lasse Collin | |||
| # | # | |||
| # This file has been put into the public domain. | # This file has been put into the public domain. | |||
| # You can do whatever you want with this file. | # You can do whatever you want with this file. | |||
| # | # | |||
| AC_DEFUN_ONCE([TUKLIB_CPUCORES], [ | AC_DEFUN_ONCE([TUKLIB_CPUCORES], [ | |||
| AC_REQUIRE([TUKLIB_COMMON]) | AC_REQUIRE([TUKLIB_COMMON]) | |||
| # sys/param.h might be needed by sys/sysctl.h. | # sys/param.h might be needed by sys/sysctl.h. | |||
| AC_CHECK_HEADERS([sys/param.h]) | AC_CHECK_HEADERS([sys/param.h]) | |||
| AC_CACHE_CHECK([how to detect the number of available CPU cores], | AC_CACHE_CHECK([how to detect the number of available CPU cores], | |||
| [tuklib_cv_cpucores_method], [ | [tuklib_cv_cpucores_method], [ | |||
| # Maybe checking $host_os would be enough but this matches what | ||||
| # tuklib_cpucores.c does. | ||||
| # | ||||
| # NOTE: IRIX has a compiler that doesn't error out with #error, so use | ||||
| # a non-compilable text instead of #error to generate an error. | ||||
| AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | ||||
| #if defined(_WIN32) || defined(__CYGWIN__) | ||||
| int main(void) { return 0; } | ||||
| #else | ||||
| compile error | ||||
| #endif | ||||
| ]])], [tuklib_cv_cpucores_method=special], [ | ||||
| # Look for sysctl() solution first, because on OS/2, both sysconf() | # Look for sysctl() solution first, because on OS/2, both sysconf() | |||
| # and sysctl() pass the tests in this file, but only sysctl() | # and sysctl() pass the tests in this file, but only sysctl() | |||
| # actually works. | # actually works. | |||
| AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | |||
| #include <sys/types.h> | #include <sys/types.h> | |||
| #ifdef HAVE_SYS_PARAM_H | #ifdef HAVE_SYS_PARAM_H | |||
| # include <sys/param.h> | # include <sys/param.h> | |||
| #endif | #endif | |||
| #include <sys/sysctl.h> | #include <sys/sysctl.h> | |||
| int | int | |||
| skipping to change at line 85 | skipping to change at line 100 | |||
| main(void) | main(void) | |||
| { | { | |||
| struct pst_dynamic pst; | struct pst_dynamic pst; | |||
| pstat_getdynamic(&pst, sizeof(pst), 1, 0); | pstat_getdynamic(&pst, sizeof(pst), 1, 0); | |||
| (void)pst.psd_proc_cnt; | (void)pst.psd_proc_cnt; | |||
| return 0; | return 0; | |||
| } | } | |||
| ]])], [tuklib_cv_cpucores_method=pstat_getdynamic], [ | ]])], [tuklib_cv_cpucores_method=pstat_getdynamic], [ | |||
| tuklib_cv_cpucores_method=unknown | tuklib_cv_cpucores_method=unknown | |||
| ])])])]) | ])])])])]) | |||
| case $tuklib_cv_cpucores_method in | case $tuklib_cv_cpucores_method in | |||
| sysctl) | sysctl) | |||
| AC_DEFINE([TUKLIB_CPUCORES_SYSCTL], [1], | AC_DEFINE([TUKLIB_CPUCORES_SYSCTL], [1], | |||
| [Define to 1 if the number of available CPU cores | [Define to 1 if the number of available CPU cores | |||
| can be detected with sysctl().]) | can be detected with sysctl().]) | |||
| ;; | ;; | |||
| sysconf) | sysconf) | |||
| AC_DEFINE([TUKLIB_CPUCORES_SYSCONF], [1], | AC_DEFINE([TUKLIB_CPUCORES_SYSCONF], [1], | |||
| [Define to 1 if the number of available CPU cores | [Define to 1 if the number of available CPU cores | |||
| End of changes. 4 change blocks. | ||||
| 2 lines changed or deleted | 17 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||