changeset 6623:a23e0fc1aea4

* extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define __EXTENSIONS__ if this causes compilation to fail. Problem reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7 c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 06 Feb 2006 05:22:04 +0000
parents 3b2f30a0eb93
children ed1144410269
files m4/ChangeLog m4/extensions.m4
diffstat 2 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,10 @@
+2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
+	__EXTENSIONS__ if this causes compilation to fail.  Problem
+	reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
+	c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
+
 2006-01-25  Simon Josefsson  <jas@extundo.com>
 
 	* getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
--- a/m4/extensions.m4
+++ b/m4/extensions.m4
@@ -1,6 +1,6 @@
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -25,6 +25,15 @@
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif])
-  AC_DEFINE([__EXTENSIONS__])
+  AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
+    [ac_cv_safe_to_define___extensions__],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([
+	  #define __EXTENSIONS__ 1
+	  AC_INCLUDES_DEFAULT])],
+       [ac_cv_safe_to_define___extensions__=yes],
+       [ac_cv_safe_to_define___extensions__=no])])
+  test $ac_cv_safe_to_define___extensions__ == yes &&
+    AC_DEFINE([__EXTENSIONS__])
   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
 ])