changeset 4515:ae4b157d42ad

New module 'extensions', used by timespec and unlocked-io for portability to Solaris.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 08 Aug 2003 20:15:52 +0000
parents 4dd0a6b3033d
children 9e5480f5e6e1
files ChangeLog MODULES.html.sh m4/ChangeLog m4/extensions.m4 m4/timespec.m4 m4/unlocked-io.m4 modules/extensions modules/gnu-source modules/timespec modules/unlocked-io
diffstat 10 files changed, 79 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-08-08  Paul Eggert  <eggert@twinsun.com>
+
+	* MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
+	* modules/extensions, modules/gnu-source: New files.
+	* modules/timespec, modules/unlocked-io: Depend on extensions.
+
 2003-08-07 Paul Eggert  <eggert@twinsun.com>
 
 	* modules/restrict: New file.
--- a/MODULES.html.sh
+++ b/MODULES.html.sh
@@ -1884,10 +1884,12 @@
   func_module exitfail
   func_module c-stack
   func_module error
+  func_module extensions
   func_module fatal
   func_module getloadavg
   func_module getpagesize
   func_module getusershell
+  func_module gnu-source
   func_module physmem
   func_module posixver
   func_module quotearg
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,11 @@
+2003-08-08  Paul Eggert  <eggert@twinsun.com>
+
+	* extensions.m4: New file.
+	* timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
+	Require gl_USE_SYSTEM_EXTENSIONS.
+	* unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
+	Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
+
 2003-08-07  Paul Eggert  <eggert@twinsun.com>
 
 	* restrict.m4: New file.
@@ -114,7 +122,7 @@
 	* rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
 	* userspec.m4 (gl_USERSPEC): Likewise.
 	* xreadlink.m4 (gl_XREADLINK): Likewise.
-	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
+	* xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
 	* quote.m4 (gl_QUOTE): Don't check for stddef.h.
 
 2003-05-26  Jim Meyering  <jim@meyering.net>
@@ -955,7 +963,7 @@
 
 2002-02-15  Paul Eggert  <eggert@twinsun.com>
 
-	* m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
+	* prereq.m4 (jm_PREREQ_POSIXVER): New macro.
 	(jm_PREREQ): Use it.
 
 2002-01-26  Jim Meyering  <meyering@lucent.com>
new file mode 100644
--- /dev/null
+++ b/m4/extensions.m4
@@ -0,0 +1,15 @@
+# gl_USE_SYSTEM_EXTENSIONS
+# ------------------------
+# Enable extensions on systems that normally disable them,
+# typically due to standards-conformance issues.
+AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], [
+  AC_REQUIRE([AC_GNU_SOURCE])
+  AH_VERBATIM([__EXTENSIONS__],
+[/* Enable extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif])
+  AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+  AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+  AC_DEFINE([__EXTENSIONS__])
+])
--- a/m4/timespec.m4
+++ b/m4/timespec.m4
@@ -1,4 +1,4 @@
-#serial 6
+#serial 7
 
 dnl From Jim Meyering
 
@@ -21,6 +21,9 @@
 
 AC_DEFUN([jm_CHECK_TYPE_STRUCT_TIMESPEC],
 [
+  dnl Persuade pedantic Solaris to declare struct timespec.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
   AC_REQUIRE([AC_HEADER_TIME])
   AC_CHECK_HEADERS_ONCE(sys/time.h)
   AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec,
--- a/m4/unlocked-io.m4
+++ b/m4/unlocked-io.m4
@@ -1,4 +1,4 @@
-#serial 7 -*- autoconf -*-
+#serial 8 -*- autoconf -*-
 
 dnl From Jim Meyering.
 dnl
@@ -10,9 +10,9 @@
 
 AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
 [
-  dnl Persuade glibc <stdio.h> to declare fgets_unlocked(), fputs_unlocked()
-  dnl etc.
-  AC_REQUIRE([AC_GNU_SOURCE])
+  dnl Persuade glibc and Solaris <stdio.h> to declare
+  dnl fgets_unlocked(), fputs_unlocked() etc.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 
   AC_CHECK_DECLS_ONCE(
      [clearerr_unlocked feof_unlocked ferror_unlocked
new file mode 100644
--- /dev/null
+++ b/modules/extensions
@@ -0,0 +1,18 @@
+Description:
+Enable extensions in standard headers
+
+Files:
+m4/extensions.m4
+
+Depends-on:
+
+configure.ac:
+gl_USE_SYSTEM_EXTENSIONS
+
+Makefile.am:
+
+Include:
+
+Maintainer:
+Paul Eggert and Jim Meyering
+
new file mode 100644
--- /dev/null
+++ b/modules/gnu-source
@@ -0,0 +1,18 @@
+Description:
+Enable GNU extensions in standard headers
+
+Files:
+m4/gnu-source.m4
+
+Depends-on:
+
+configure.ac:
+AC_GNU_SOURCE
+
+Makefile.am:
+
+Include:
+
+Maintainer:
+Paul Eggert and Jim Meyering
+
--- a/modules/timespec
+++ b/modules/timespec
@@ -7,6 +7,7 @@
 m4/timespec.m4
 
 Depends-on:
+extensions
 
 configure.ac:
 gl_TIMESPEC
--- a/modules/unlocked-io
+++ b/modules/unlocked-io
@@ -6,6 +6,7 @@
 m4/unlocked-io.m4
 
 Depends-on:
+extensions
 
 configure.ac:
 jm_FUNC_GLIBC_UNLOCKED_IO