changeset 6301:015760832874

Deal with the fact that mbchar.h, mbfile.h, mbiter.h, mbuiter.h can only be #included conditionally.
author Bruno Haible <bruno@clisp.org>
date Mon, 26 Sep 2005 13:58:51 +0000
parents a6dea1147a25
children 71bde2024cdc
files ChangeLog m4/ChangeLog m4/mbchar.m4 m4/mbfile.m4 m4/mbiter.m4 m4/strcase.m4 m4/strcasestr.m4 m4/strstr.m4 modules/mbchar modules/mbfile modules/mbiter modules/mbuiter
diffstat 12 files changed, 61 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-09-26  Bruno Haible  <bruno@clisp.org>
+
+	* modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
+	is necessary.
+	(lib_SOURCES): Remove mbchar.c.
+	* modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
+	(Files): Add m4/mbrtowc.m4.
+	* modules/mbiter: Likewise.
+	* modules/mbuiter: Likewise.
+
 2005-09-25  Jim Meyering  <jim@meyering.net>
 
 	* modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,13 @@
+2005-09-26  Bruno Haible  <bruno@clisp.org>
+
+	* mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't compile
+	mbchar.c if they are not both present.
+	* mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
+	* mbiter.m4 (gl_MBITER): Likewise.
+	* strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
+	* strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
+	* strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
+
 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
--- a/m4/mbchar.m4
+++ b/m4/mbchar.m4
@@ -1,4 +1,4 @@
-# mbchar.m4 serial 1
+# mbchar.m4 serial 2
 dnl Copyright (C) 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -10,5 +10,11 @@
 AC_DEFUN([gl_MBCHAR],
 [
   AC_REQUIRE([AC_GNU_SOURCE])
-  :
+  dnl The following line is that so the user can test
+  dnl HAVE_WCHAR_H && HAVE_WCTYPE_H before #include "mbchar.h".
+  AC_CHECK_HEADERS_ONCE(wchar.h wctype.h)
+  dnl Compile mbchar.c only if HAVE_WCHAR_H && HAVE_WCTYPE_H.
+  if test $ac_cv_header_wchar_h = yes && test $ac_cv_header_wctype_h = yes; then
+    AC_LIBOBJ([mbchar])
+  fi
 ])
--- a/m4/mbfile.m4
+++ b/m4/mbfile.m4
@@ -1,4 +1,4 @@
-# mbfile.m4 serial 1
+# mbfile.m4 serial 2
 dnl Copyright (C) 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -10,5 +10,8 @@
 AC_DEFUN([gl_MBFILE],
 [
   AC_REQUIRE([AC_TYPE_MBSTATE_T])
+  dnl The following line is that so the user can test HAVE_MBRTOWC before
+  dnl #include "mbfile.h".
+  AC_REQUIRE([gl_FUNC_MBRTOWC])
   :
 ])
--- a/m4/mbiter.m4
+++ b/m4/mbiter.m4
@@ -1,4 +1,4 @@
-# mbiter.m4 serial 1
+# mbiter.m4 serial 2
 dnl Copyright (C) 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -10,5 +10,8 @@
 AC_DEFUN([gl_MBITER],
 [
   AC_REQUIRE([AC_TYPE_MBSTATE_T])
+  dnl The following line is that so the user can test HAVE_MBRTOWC before
+  dnl #include "mbiter.h" or "mbuiter.h".
+  AC_REQUIRE([gl_FUNC_MBRTOWC])
   :
 ])
--- a/m4/strcase.m4
+++ b/m4/strcase.m4
@@ -1,4 +1,4 @@
-# strcase.m4 serial 2
+# strcase.m4 serial 3
 dnl Copyright (C) 2002, 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,8 @@
 
 # Prerequisites of lib/strcasecmp.c.
 AC_DEFUN([gl_PREREQ_STRCASECMP], [
-  gl_FUNC_MBRTOWC
+  AC_REQUIRE([gl_FUNC_MBRTOWC])
+  :
 ])
 
 # Prerequisites of lib/strncasecmp.c.
--- a/m4/strcasestr.m4
+++ b/m4/strcasestr.m4
@@ -1,4 +1,4 @@
-# strcasestr.m4 serial 1
+# strcasestr.m4 serial 2
 dnl Copyright (C) 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -15,5 +15,6 @@
 
 # Prerequisites of lib/strcasestr.c.
 AC_DEFUN([gl_PREREQ_STRCASESTR], [
-  gl_FUNC_MBRTOWC
+  AC_REQUIRE([gl_FUNC_MBRTOWC])
+  :
 ])
--- a/m4/strstr.m4
+++ b/m4/strstr.m4
@@ -1,4 +1,4 @@
-# strstr.m4 serial 4
+# strstr.m4 serial 5
 dnl Copyright (C) 2002-2003, 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -14,5 +14,6 @@
 
 # Prerequisites of lib/strstr.c.
 AC_DEFUN([gl_PREREQ_STRSTR], [
-  gl_FUNC_MBRTOWC
+  AC_REQUIRE([gl_FUNC_MBRTOWC])
+  :
 ])
--- a/modules/mbchar
+++ b/modules/mbchar
@@ -13,10 +13,12 @@
 gl_MBCHAR
 
 Makefile.am:
-lib_SOURCES += mbchar.h mbchar.c
+lib_SOURCES += mbchar.h
 
 Include:
-"mbchar.h"
+#if HAVE_WCHAR_H && HAVE_WCTYPE_H
+#include "mbchar.h"
+#endif
 
 License:
 LGPL
--- a/modules/mbfile
+++ b/modules/mbfile
@@ -4,6 +4,7 @@
 Files:
 lib/mbfile.h
 m4/mbfile.m4
+m4/mbrtowc.m4
 
 Depends-on:
 mbchar
@@ -16,7 +17,9 @@
 lib_SOURCES += mbfile.h
 
 Include:
-"mbfile.h"
+#if HAVE_MBRTOWC
+#include "mbfile.h"
+#endif
 
 License:
 LGPL
--- a/modules/mbiter
+++ b/modules/mbiter
@@ -4,6 +4,7 @@
 Files:
 lib/mbiter.h
 m4/mbiter.m4
+m4/mbrtowc.m4
 
 Depends-on:
 mbchar
@@ -16,7 +17,9 @@
 lib_SOURCES += mbiter.h
 
 Include:
-"mbiter.h"
+#if HAVE_MBRTOWC
+#include "mbiter.h"
+#endif
 
 License:
 LGPL
--- a/modules/mbuiter
+++ b/modules/mbuiter
@@ -4,6 +4,7 @@
 Files:
 lib/mbuiter.h
 m4/mbiter.m4
+m4/mbrtowc.m4
 
 Depends-on:
 mbchar
@@ -17,7 +18,9 @@
 lib_SOURCES += mbuiter.h
 
 Include:
-"mbuiter.h"
+#if HAVE_MBRTOWC
+#include "mbuiter.h"
+#endif
 
 License:
 LGPL