]> arthur.barton.de Git - netatalk.git/commitdiff
check if UCS-2-INTERNAL is supported by libiconv
authorbfernhomberg <bfernhomberg>
Thu, 24 Jun 2004 00:41:53 +0000 (00:41 +0000)
committerbfernhomberg <bfernhomberg>
Thu, 24 Jun 2004 00:41:53 +0000 (00:41 +0000)
libatalk/unicode/iconv.c
macros/iconv.m4

index 20962307c3751a7663b5e76d11cad7c7fcbbf606..af429e21589e2f50572ec762d4a56bc45036c7c4 100644 (file)
@@ -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
index 806f0aa686ca93af9b8f980bfdedf144601e9490..6f6e393c5f21596a30e78b9dc79a7fa24949370a 100644 (file)
@@ -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 <iconv.h>
+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"