]> arthur.barton.de Git - netatalk.git/blob - macros/iconv.m4
Check for sys/quota.h and include it if and only if this is defined in unix.h.
[netatalk.git] / macros / iconv.m4
1 AC_DEFUN([AM_ICONV],
2 [
3
4 dnl     #################################################
5 dnl     # check for libiconv support
6         AC_MSG_CHECKING(whether to use libiconv)
7         savedcflags="$CFLAGS"
8         savedldflags="$LDFLAGS"
9         AC_ARG_WITH(libiconv,
10         [  --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto) ],
11         [ case "$withval" in
12           no)
13             AC_MSG_RESULT(no)
14             ;;
15           *)
16             AC_MSG_RESULT(yes)
17             CFLAGS="$CFLAGS -I$withval/include"
18             LDFLAGS="$LDFLAGS -L$withval/lib"
19             AC_CHECK_LIB(iconv, iconv_open, [
20                                 if test "$withval" != "/usr" && test "$withval" != ""; then
21                                     ICONV_CFLAGS="-I$withval/include"
22                                     ICONV_LIBS ="-L$withval/lib"
23                                 fi
24                                 ICONV_LIBS="$ICONV_LIBS -liconv"
25                         ])
26             AC_DEFINE_UNQUOTED(WITH_LIBICONV, "${withval}",[Path to iconv])
27             ;;
28           esac ],
29           AC_MSG_RESULT(no)
30         )
31         AC_SUBST(ICONV_CFLAGS)
32         AC_SUBST(ICONV_LIBS)
33
34 dnl     ############
35 dnl     # check for iconv usability
36         AC_CACHE_CHECK([for working iconv],netatalk_cv_HAVE_USABLE_ICONV,[
37                 AC_TRY_RUN([
38         #include <iconv.h>
39         main() {
40                iconv_t cd = iconv_open("MAC", "UTF8");
41                if (cd == 0 || cd == (iconv_t)-1) return -1;
42                return 0;
43         }
44         ], netatalk_cv_HAVE_USABLE_ICONV=yes,netatalk_cv_HAVE_USABLE_ICONV=no,netatalk_cv_HAVE_USABLE_ICONV=cross)])
45
46         if test x"$netatalk_cv_HAVE_USABLE_ICONV" = x"yes"; then
47             AC_DEFINE(HAVE_USABLE_ICONV,1,[Whether to use native iconv])
48         fi
49
50 dnl     ###########
51 dnl     # check if iconv needs const
52         if test x"$cv_HAVE_USABLE_ICONV" = x"yes"; then
53                 AC_CACHE_VAL(am_cv_proto_iconv, [
54                 AC_TRY_COMPILE([
55                 #include <stdlib.h>
56                 #include <iconv.h>
57                 extern
58                 #ifdef __cplusplus
59                 "C"
60                 #endif
61                 #if defined(__STDC__) || defined(__cplusplus)
62                 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
63                 #else
64                 size_t iconv();
65                 #endif
66                 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
67                 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);"])
68                 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
69                         [Define as const if the declaration of iconv() needs const.])
70         fi
71         CFLAGS="$savedcflags"
72         LDFLAGS="$savedldflags"
73         
74 ])