1 AC_DEFUN([AC_CHECK_ICONV],
4 dnl #################################################
5 dnl # check for libiconv support
6 AC_MSG_CHECKING(whether to use libiconv)
8 savedldflags="$LDFLAGS"
10 [ --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include [[default=auto]]],
17 CFLAGS="$CFLAGS -I$withval/include"
18 LDFLAGS="$LDFLAGS -L$withval/lib"
19 AC_CHECK_LIB(iconv, iconv_open, [
20 ICONV_CFLAGS="-I$withval/include"
21 ICONV_LIBS="-L$withval/lib -liconv"
23 AC_DEFINE_UNQUOTED(WITH_LIBICONV, "${withval}",[Path to iconv])
29 CFLAGS_REMOVE_USR_INCLUDE(ICONV_CFLAGS)
30 LIB_REMOVE_USR_LIB(ICONV_LIBS)
31 AC_SUBST(ICONV_CFLAGS)
35 dnl # check for iconv usability
37 saved_CPPFLAGS="$CPPFLAGS"
38 CPPFLAGS="$CFLAGS $ICONV_CFLAGS $ICONV_LIBS"
39 AC_CACHE_CHECK([for working iconv],netatalk_cv_HAVE_USABLE_ICONV,[
43 iconv_t cd = iconv_open("ASCII", "UTF-8");
44 if (cd == 0 || cd == (iconv_t)-1) return -1;
47 ], netatalk_cv_HAVE_USABLE_ICONV=yes,netatalk_cv_HAVE_USABLE_ICONV=no,netatalk_cv_HAVE_USABLE_ICONV=cross)])
49 if test x"$netatalk_cv_HAVE_USABLE_ICONV" = x"yes"; then
50 AC_DEFINE(HAVE_USABLE_ICONV,1,[Whether to use native iconv])
54 dnl # check if iconv needs const
55 if test x"$netatalk_cv_HAVE_USABLE_ICONV" = x"yes"; then
56 AC_CACHE_VAL(am_cv_proto_iconv, [
64 #if defined(__STDC__) || defined(__cplusplus)
65 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
69 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
70 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
71 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
72 [Define as const if the declaration of iconv() needs const.])
75 LDFLAGS="$savedldflags"
76 CPPFLAGS="$saved_CPPFLAGS"