mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-11 16:31:09 +00:00
08afc52c4c
The included iconv should not be used on Linux or OS X, but (depending on local configuration) it might be needed for crosscompiling a mingw target from Linux. Now the user can choose whether to use the included iconv or not. cmake does already support that. eilseq.m4 was taken from the original libiconv 1.14 package.
68 lines
1.9 KiB
Plaintext
68 lines
1.9 KiB
Plaintext
#serial 1
|
|
|
|
AC_PREREQ(2.50)
|
|
|
|
# The EILSEQ errno value ought to be defined in <errno.h>, 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 <wchar.h> not <errno.h>.
|
|
|
|
# Define EILSEQ as a C macro and as a substituted macro in such a way that
|
|
# 1. on all systems, after inclusion of <errno.h>, 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 <errno.h>
|
|
#ifdef EILSEQ
|
|
yes
|
|
#endif
|
|
], have_eilseq=1)
|
|
if test -n "$have_eilseq"; then
|
|
dnl EILSEQ exists in <errno.h>. Don't need to define EILSEQ ourselves.
|
|
ac_cv_decl_EILSEQ=yes
|
|
else
|
|
AC_EGREP_CPP(yes,[
|
|
#include <errno.h>
|
|
#if HAVE_WCHAR_H
|
|
#include <wchar.h>
|
|
#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([EILSEQ], ac_cv_decl_EILSEQ, [
|
|
#include <errno.h>
|
|
#if HAVE_WCHAR_H
|
|
#include <wchar.h>
|
|
#endif
|
|
/* The following two lines are a workaround against an autoconf-2.52 bug. */
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
])
|
|
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
|
|
])
|