(jm_PREREQ_MBSWIDTH): No longer requires AM_C_PROTOTYPES.
authorJim Meyering <jim@meyering.net>
Sat, 4 Aug 2001 17:00:11 +0000 (17:00 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 4 Aug 2001 17:00:11 +0000 (17:00 +0000)
Check for iswcntrl, mbsinit.  Use AC_TRY_COMPILE, not AC_CHECK_DECLS,
for portability to Autoconf 2.13.

m4/mbswidth.m4

index 085c884..26f661f 100644 (file)
@@ -1,4 +1,4 @@
-#serial 4
+#serial 5
 
 dnl autoconf tests required for use of mbswidth.c
 dnl From Bruno Haible.
@@ -6,15 +6,31 @@ dnl From Bruno Haible.
 AC_DEFUN(jm_PREREQ_MBSWIDTH,
 [
   AC_REQUIRE([AC_HEADER_STDC])
-  AC_REQUIRE([AM_C_PROTOTYPES])
   AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
-  AC_CHECK_FUNCS(isascii iswprint wcwidth)
+  AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
   jm_FUNC_MBRTOWC
-  headers='
-#     if HAVE_WCHAR_H
-#      include <wchar.h>
-#     endif
-'
-  AC_CHECK_DECLS([wcwidth], , , $headers)
+
+  AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
+    [AC_TRY_COMPILE([
+/* AIX 3.2.5 declares wcwidth in <string.h>. */
+#if HAVE_STRING_H
+# include <string.h>
+#endif
+#if HAVE_WCHAR_H
+# include <wchar.h>
+#endif
+], [
+#ifndef wcwidth
+  char *p = (char *) wcwidth;
+#endif
+], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
+  if test $ac_cv_have_decl_wcwidth = yes; then
+    ac_val=1
+  else
+    ac_val=0
+  fi
+  AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
+    [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
+
   AC_MBSTATE_T
 ])