From: bfernhomberg Date: Thu, 24 Jun 2004 00:41:53 +0000 (+0000) Subject: check if UCS-2-INTERNAL is supported by libiconv X-Git-Tag: netatalk-2-0-beta2~7 X-Git-Url: https://arthur.barton.de/gitweb/?a=commitdiff_plain;h=c83f1c96815d1c348cca1716d580690f0c3661fa;p=netatalk.git check if UCS-2-INTERNAL is supported by libiconv --- diff --git a/libatalk/unicode/iconv.c b/libatalk/unicode/iconv.c index 20962307..af429e21 100644 --- a/libatalk/unicode/iconv.c +++ b/libatalk/unicode/iconv.c @@ -70,7 +70,7 @@ **/ #define CHARSET_WIDECHAR 32 -#ifdef WITH_LIBICONV +#if defined(WITH_LIBICONV) && defined(HAVE_UCS2INTERNAL) #define UCS2ICONV "UCS-2-INTERNAL" #else #if BYTE_ORDER==LITTLE_ENDIAN diff --git a/macros/iconv.m4 b/macros/iconv.m4 index 806f0aa6..6f6e393c 100644 --- a/macros/iconv.m4 +++ b/macros/iconv.m4 @@ -6,6 +6,7 @@ dnl # check for libiconv support AC_MSG_CHECKING(whether to use libiconv) savedcflags="$CFLAGS" savedldflags="$LDFLAGS" + netatalk_cv_libiconv=no AC_ARG_WITH(libiconv, [ --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include [[default=auto]]], [ case "$withval" in @@ -17,10 +18,13 @@ dnl # check for libiconv support CFLAGS="$CFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/$atalk_libname" AC_CHECK_LIB(iconv, iconv_open, [ - ICONV_CFLAGS="-I$withval/include" - ICONV_LIBS="-L$withval/$atalk_libname -liconv" - ]) - AC_DEFINE_UNQUOTED(WITH_LIBICONV, "${withval}",[Path to iconv]) + ICONV_CFLAGS="-I$withval/include" + ICONV_LIBS="-L$withval/$atalk_libname -liconv" + netatalk_cv_libiconv=yes + AC_DEFINE_UNQUOTED(WITH_LIBICONV, "${withval}",[Path to iconv]) + ], [ + AC_MSG_ERROR([libiconv not found in specified path: $withval]) + ]) ;; esac ], AC_MSG_RESULT(no) @@ -71,6 +75,24 @@ size_t iconv(); AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi + +dnl ########### +dnl # check if libiconv supports UCS-2-INTERNAL + if test x"$netatalk_cv_libiconv" = x"yes"; then + AC_CACHE_CHECK([whether iconv supports UCS-2-INTERNAL],netatalk_cv_HAVE_UCS2INTERNAL,[ + AC_TRY_RUN([\ +#include +int main() { + iconv_t cd = iconv_open("ASCII", "UCS-2-INTERNAL"); + if (cd == 0 || cd == (iconv_t)-1) return -1; + return 0; +} +], netatalk_cv_HAVE_UCS2INTERNAL=yes,netatalk_cv_HAVE_UCS2INTERNAL=no,netatalk_cv_HAVEUCS2INTERNAL=cross)]) + + if test x"$netatalk_cv_HAVE_UCS2INTERNAL" = x"yes"; then + AC_DEFINE(HAVE_UCS2INTERNAL,1,[Whether UCS-2-INTERNAL is supported]) + fi + fi CFLAGS="$savedcflags" LDFLAGS="$savedldflags" CPPFLAGS="$saved_CPPFLAGS"