Blame m4/mbsinit.m4

Packit 8f70b4
# mbsinit.m4 serial 8
Packit 8f70b4
dnl Copyright (C) 2008, 2010-2018 Free Software Foundation, Inc.
Packit 8f70b4
dnl This file is free software; the Free Software Foundation
Packit 8f70b4
dnl gives unlimited permission to copy and/or distribute it,
Packit 8f70b4
dnl with or without modifications, as long as this notice is preserved.
Packit 8f70b4
Packit 8f70b4
AC_DEFUN([gl_FUNC_MBSINIT],
Packit 8f70b4
[
Packit 8f70b4
  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
Packit 8f70b4
  AC_REQUIRE([AC_CANONICAL_HOST])
Packit 8f70b4
Packit 8f70b4
  AC_REQUIRE([AC_TYPE_MBSTATE_T])
Packit 8f70b4
  gl_MBSTATE_T_BROKEN
Packit 8f70b4
Packit 8f70b4
  AC_CHECK_FUNCS_ONCE([mbsinit])
Packit 8f70b4
  if test $ac_cv_func_mbsinit = no; then
Packit 8f70b4
    HAVE_MBSINIT=0
Packit 8f70b4
    AC_CHECK_DECLS([mbsinit],,, [[
Packit 8f70b4
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
Packit 8f70b4
   <wchar.h>.
Packit 8f70b4
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
Packit 8f70b4
   included before <wchar.h>.  */
Packit 8f70b4
#include <stddef.h>
Packit 8f70b4
#include <stdio.h>
Packit 8f70b4
#include <time.h>
Packit 8f70b4
#include <wchar.h>
Packit 8f70b4
]])
Packit 8f70b4
    if test $ac_cv_have_decl_mbsinit = yes; then
Packit 8f70b4
      dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although
Packit 8f70b4
      dnl it does not have the function. Avoid a collision with gnulib's
Packit 8f70b4
      dnl replacement.
Packit 8f70b4
      REPLACE_MBSINIT=1
Packit 8f70b4
    fi
Packit 8f70b4
  else
Packit 8f70b4
    if test $REPLACE_MBSTATE_T = 1; then
Packit 8f70b4
      REPLACE_MBSINIT=1
Packit 8f70b4
    else
Packit 8f70b4
      dnl On mingw, mbsinit() always returns 1, which is inappropriate for
Packit 8f70b4
      dnl states produced by mbrtowc() for an incomplete multibyte character
Packit 8f70b4
      dnl in multibyte locales.
Packit 8f70b4
      case "$host_os" in
Packit 8f70b4
        mingw*) REPLACE_MBSINIT=1 ;;
Packit 8f70b4
      esac
Packit 8f70b4
    fi
Packit 8f70b4
  fi
Packit 8f70b4
])
Packit 8f70b4
Packit 8f70b4
# Prerequisites of lib/mbsinit.c.
Packit 8f70b4
AC_DEFUN([gl_PREREQ_MBSINIT], [
Packit 8f70b4
  :
Packit 8f70b4
])