From 0df9299e2478c2a0c62c05b1ae14a85a353e20d6 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sun, 1 Mar 2009 09:03:08 +0200 Subject: [PATCH] Test for Linux-specific sysinfo() only on Linux systems. Some other systems have sysinfo() with different semantics. --- m4/lc_physmem.m4 | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/m4/lc_physmem.m4 b/m4/lc_physmem.m4 index 8633f4a1..78be1362 100644 --- a/m4/lc_physmem.m4 +++ b/m4/lc_physmem.m4 @@ -54,7 +54,11 @@ main(void) with sysctl().]) AC_MSG_RESULT([sysctl]) ], [ -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +dnl sysinfo() is Linux-specific. Some non-Linux systems have +dnl incompatible sysinfo() so we must check $host_os. +case $host_os in + linux*) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ #include int main(void) @@ -63,12 +67,18 @@ main(void) sysinfo(&si); return 0; } -]])], [ - AC_DEFINE([HAVE_PHYSMEM_SYSINFO], [1], - [Define to 1 if the amount of physical memory can be detected - with sysinfo().]) - AC_MSG_RESULT([sysinfo]) -], [ - AC_MSG_RESULT([unknown]) -])])]) + ]])], [ + AC_DEFINE([HAVE_PHYSMEM_SYSINFO], [1], + [Define to 1 if the amount of physical memory + can be detected with Linux sysinfo().]) + AC_MSG_RESULT([sysinfo]) + ], [ + AC_MSG_RESULT([unknown]) + ]) + ;; + *) + AC_MSG_RESULT([unknown]) + ;; +esac +])]) ])dnl lc_PHYSMEM