From: Paul Eggert Date: Sat, 16 Aug 2003 09:25:58 +0000 (+0000) Subject: (gl_SYS__SYSTEM_CONFIGURATION): New macro. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e02d3017f4ca12b7fdb9a37597377f5a71dd1ca;p=pspp (gl_SYS__SYSTEM_CONFIGURATION): New macro. (gl_PHYSMEM): Use it. Also check for `table' function. Check for new headers and functions. Add check for sys/sysmp.h. With suggestions from Kaveh Ghazi. Ignore headers that are present but cannot be compiled. This avoids spurious warnings on Solaris 9 sparc with Forte Developer 7 C 5.4. --- diff --git a/m4/physmem.m4 b/m4/physmem.m4 index c19252de95..824db10fa8 100644 --- a/m4/physmem.m4 +++ b/m4/physmem.m4 @@ -1,15 +1,39 @@ -# physmem.m4 serial 1 -dnl Copyright (C) 2002 Free Software Foundation, Inc. +# physmem.m4 serial 2 +dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. +# Check for the external symbol, _system_configuration, +# a struct with member `physmem'. +AC_DEFUN([gl_SYS__SYSTEM_CONFIGURATION], + [AC_CACHE_CHECK(for external symbol _system_configuration, + gl_cv_var__system_configuration, + [AC_LINK_IFELSE([AC_LANG_PROGRAM( + [[#include + ]], + [double x = _system_configuration.physmem;])], + [gl_cv_var__system_configuration=yes], + [gl_cv_var__system_configuration=no])]) + + if test $gl_cv_var__system_configuration = yes; then + AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1, + [Define to 1 if you have the external variable, + _system_configuration with a member named physmem.]) + fi + ] +) + AC_DEFUN([gl_PHYSMEM], [ - dnl Prerequisites of lib/physmem.c. + # Prerequisites of lib/physmem.c. AC_CHECK_HEADERS_ONCE(unistd.h) - AC_CHECK_HEADERS(sys/pstat.h) - AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic) + AC_CHECK_HEADERS([sys/pstat.h sys/sysmp.h sys/sysinfo.h \ + machine/hal_sysinfo.h sys/table.h sys/param.h sys/sysctl.h \ + sys/systemcfg.h],,, [AC_INCLUDES_DEFAULT]) + + AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table) + AC_REQUIRE([gl_SYS__SYSTEM_CONFIGURATION]) ])