]> code.delx.au - gnu-emacs/commitdiff
* configure.ac (HAVE_LINUX_SYSINFO): Avoid false positive on Solaris.
authorDmitry Antipov <dmantipov@yandex.ru>
Tue, 26 Aug 2014 14:42:06 +0000 (18:42 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Tue, 26 Aug 2014 14:42:06 +0000 (18:42 +0400)
ChangeLog
configure.ac

index 67fc0b87bcb466a6e116bce218c2aa44142cb7bf..9eb4637694fe634dbc8e71f825b1ec3c60994fef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,8 @@
        support.  Unconditionally check for sigsetjmp and siglongjmp.
        (HAVE_STACK_OVERFLOW_HANDLING): Define if we can support it.
 
+       (HAVE_LINUX_SYSINFO): Avoid false positive on Solaris.
+
 2014-08-25  Ken Brown  <kbrown@cornell.edu>
 
        * configure.ac (G_SLICE_ALWAYS_MALLOC): Remove obsolete macro.
index d6476d2e1c77e23ba3d851c6d14617acebe6f553..4f22be4745d81e8158d50f5121c818e7ad894720 100644 (file)
@@ -1526,10 +1526,15 @@ if test $emacs_cv_personality_linux32 = yes; then
             [Define to 1 if personality LINUX32 can be set.])
 fi
 
+# Note that Solaris has sys/sysinfo.h which defines struct
+# sysinfo as well.  To make sure that we're using GNU/Linux
+# sysinfo, we explicitly set one of its fields.
 if test "$ac_cv_header_sys_sysinfo_h" = yes; then
   AC_MSG_CHECKING([if Linux sysinfo may be used])
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/sysinfo.h>]],
-                                     [[struct sysinfo si; sysinfo (&si)]])],
+                                     [[struct sysinfo si;
+                                       si.totalram = 0;
+                                       sysinfo (&si)]])],
     emacs_cv_linux_sysinfo=yes, emacs_cv_linux_sysinfo=no)
   AC_MSG_RESULT($emacs_cv_linux_sysinfo)
   if test $emacs_cv_linux_sysinfo = yes; then