Blame gettext-runtime/gnulib-m4/mbsinit.m4

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