Blame m4/mbsinit.m4

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