#serial 2 AC_PREREQ([2.61]) # The EILSEQ errno value ought to be defined in , according to # ISO C 99 and POSIX. But some systems (like SunOS 4) don't define it, # and some systems (like BSD/OS) define it in not . # Define EILSEQ as a C macro and as a substituted macro in such a way that # 1. on all systems, after inclusion of , EILSEQ is usable, # 2. on systems where EILSEQ is defined elsewhere, we use the same numeric # value. AC_DEFUN([AC_EILSEQ], [ AC_REQUIRE([AC_PROG_CC])dnl dnl Check for any extra headers that could define EILSEQ. AC_CHECK_HEADERS([wchar.h]) AC_CACHE_CHECK([for EILSEQ], [ac_cv_decl_EILSEQ], [ AC_EGREP_CPP([yes],[ #include #ifdef EILSEQ yes #endif ], [have_eilseq=1]) if test -n "$have_eilseq"; then dnl EILSEQ exists in . Don't need to define EILSEQ ourselves. ac_cv_decl_EILSEQ=yes else AC_EGREP_CPP([yes],[ #include #if HAVE_WCHAR_H #include #endif #ifdef EILSEQ yes #endif ], [have_eilseq=1]) if test -n "$have_eilseq"; then dnl EILSEQ exists in some other system header. dnl Define it to the same value. AC_COMPUTE_INT([ac_cv_decl_EILSEQ], [EILSEQ], [ #include #if HAVE_WCHAR_H #include #endif /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include ]) else dnl EILSEQ isn't defined by the system. Define EILSEQ ourselves, but dnl don't define it as EINVAL, because iconv() callers want to dnl distinguish EINVAL and EILSEQ. ac_cv_decl_EILSEQ=ENOENT fi fi ]) if test "$ac_cv_decl_EILSEQ" != yes; then AC_DEFINE_UNQUOTED([EILSEQ], [$ac_cv_decl_EILSEQ], [Define as good substitute value for EILSEQ.]) EILSEQ="$ac_cv_decl_EILSEQ" AC_SUBST([EILSEQ]) fi ])