strings: Don't assume <strings.h> exists.
authorBruno Haible <bruno@clisp.org>
Sun, 11 Sep 2011 19:15:40 +0000 (21:15 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 11 Sep 2011 19:15:40 +0000 (21:15 +0200)
* lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
* m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
* modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
* doc/posix-headers/strings.texi: Mention the MSVC problem.

ChangeLog
doc/posix-headers/strings.texi
lib/strings.in.h
m4/strings_h.m4
modules/strings

index f6987e2..520e800 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2011-09-11  Bruno Haible  <bruno@clisp.org>
 
+       strings: Don't assume <strings.h> exists.
+       * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
+       * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
+       * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
+       * doc/posix-headers/strings.texi: Mention the MSVC problem.
+
+2011-09-11  Bruno Haible  <bruno@clisp.org>
+
        dirent: Don't assume <dirent.h> exists.
        * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
        * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
index 7a4619e..63713ee 100644 (file)
@@ -15,6 +15,9 @@ Minix 3.1.8.
 Portability problems not fixed by Gnulib:
 @itemize
 @item
+This header file is missing on some platforms:
+MSVC 9.
+@item
 This header file defines symbols, such as @samp{index}, often used for
 variables, making debugging harder.
 @end itemize
index a82b2d4..296867b 100644 (file)
@@ -30,7 +30,9 @@
 #endif
 
 /* The include_next requires a split double-inclusion guard.  */
-#@INCLUDE_NEXT@ @NEXT_STRINGS_H@
+#if @HAVE_STRINGS_H@
+# @INCLUDE_NEXT@ @NEXT_STRINGS_H@
+#endif
 
 #ifndef _@GUARD_PREFIX@_STRINGS_H
 #define _@GUARD_PREFIX@_STRINGS_H
index 12ca5eb..481f8f3 100644 (file)
@@ -1,5 +1,5 @@
 # Configure a replacement for <strings.h>.
-# serial 5
+# serial 6
 
 # Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -16,7 +16,14 @@ AC_DEFUN([gl_HEADER_STRINGS_H],
 AC_DEFUN([gl_HEADER_STRINGS_H_BODY],
 [
   AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS])
+
   gl_CHECK_NEXT_HEADERS([strings.h])
+  if test $ac_cv_header_strings_h = yes; then
+    HAVE_STRINGS_H=1
+  else
+    HAVE_STRINGS_H=0
+  fi
+  AC_SUBST([HAVE_STRINGS_H])
 
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
index 905a45c..ced757d 100644 (file)
@@ -24,6 +24,7 @@ strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE
        $(AM_V_GEN)rm -f $@-t $@ && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
          sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
+             -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \