update nearly all FSF copyright year lists to include 2010
[pspp] / m4 / mbswidth.m4
index 26f661f6490bec01f0bcddf596e60f4acb784427..25089f2758c9706d3d2393c760046714aab37ae8 100644 (file)
@@ -1,36 +1,41 @@
-#serial 5
+# mbswidth.m4 serial 17
+dnl Copyright (C) 2000-2002, 2004, 2006-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
 
 dnl autoconf tests required for use of mbswidth.c
 dnl From Bruno Haible.
 
 
 dnl autoconf tests required for use of mbswidth.c
 dnl From Bruno Haible.
 
-AC_DEFUN(jm_PREREQ_MBSWIDTH,
+AC_DEFUN([gl_MBSWIDTH],
 [
 [
-  AC_REQUIRE([AC_HEADER_STDC])
-  AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
-  AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
-  jm_FUNC_MBRTOWC
+  AC_CHECK_HEADERS_ONCE([wchar.h])
+  AC_CHECK_FUNCS_ONCE([isascii mbsinit])
 
 
-  AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
+  dnl UnixWare 7.1.1 <wchar.h> has a declaration of a function mbswidth()
+  dnl that clashes with ours.
+  AC_CACHE_CHECK([whether mbswidth is declared in <wchar.h>],
+    ac_cv_have_decl_mbswidth,
     [AC_TRY_COMPILE([
     [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
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+   before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
 ], [
 ], [
-#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
+  char *p = (char *) mbswidth;
+  return !p;
+], ac_cv_have_decl_mbswidth=yes, ac_cv_have_decl_mbswidth=no)])
+  if test $ac_cv_have_decl_mbswidth = yes; then
     ac_val=1
   else
     ac_val=0
   fi
     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_DEFINE_UNQUOTED([HAVE_DECL_MBSWIDTH_IN_WCHAR_H], [$ac_val],
+    [Define to 1 if you have a declaration of mbswidth() in <wchar.h>, and to 0 otherwise.])
 
 
-  AC_MBSTATE_T
+  AC_TYPE_MBSTATE_T
 ])
 ])