Home | History | Annotate | Download | only in m4
      1 # mbsinit.m4 serial 8
      2 dnl Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc.
      3 dnl This file is free software; the Free Software Foundation
      4 dnl gives unlimited permission to copy and/or distribute it,
      5 dnl with or without modifications, as long as this notice is preserved.
      6 
      7 AC_DEFUN([gl_FUNC_MBSINIT],
      8 [
      9   AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
     10   AC_REQUIRE([AC_CANONICAL_HOST])
     11 
     12   AC_REQUIRE([AC_TYPE_MBSTATE_T])
     13   gl_MBSTATE_T_BROKEN
     14 
     15   AC_CHECK_FUNCS_ONCE([mbsinit])
     16   if test $ac_cv_func_mbsinit = no; then
     17     HAVE_MBSINIT=0
     18     AC_CHECK_DECLS([mbsinit],,, [[
     19 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
     20    <wchar.h>.
     21    BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
     22    included before <wchar.h>.  */
     23 #include <stddef.h>
     24 #include <stdio.h>
     25 #include <time.h>
     26 #include <wchar.h>
     27 ]])
     28     if test $ac_cv_have_decl_mbsinit = yes; then
     29       dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although
     30       dnl it does not have the function. Avoid a collision with gnulib's
     31       dnl replacement.
     32       REPLACE_MBSINIT=1
     33     fi
     34   else
     35     if test $REPLACE_MBSTATE_T = 1; then
     36       REPLACE_MBSINIT=1
     37     else
     38       dnl On mingw, mbsinit() always returns 1, which is inappropriate for
     39       dnl states produced by mbrtowc() for an incomplete multibyte character
     40       dnl in multibyte locales.
     41       case "$host_os" in
     42         mingw*) REPLACE_MBSINIT=1 ;;
     43       esac
     44     fi
     45   fi
     46 ])
     47 
     48 # Prerequisites of lib/mbsinit.c.
     49 AC_DEFUN([gl_PREREQ_MBSINIT], [
     50   :
     51 ])
     52