r9078: - move charset stuff to lib/charset
[bbaumbach/samba-autobuild/.git] / source4 / lib / charset / config.m4
1 dnl # ICONV/CHARSET subsystem
2
3 ICONV_LOCATION=standard
4 LOOK_DIRS="/usr /usr/local /sw"
5 AC_ARG_WITH(libiconv,
6 [  --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto) ],
7 [
8   if test "$withval" = "no" ; then
9     AC_MSG_ERROR(I won't take no for an answer)
10   else
11      if test "$withval" != "yes" ; then
12         LOOK_DIRS="$withval $LOOK_DIRS"
13      fi
14   fi
15 ])
16
17 ICONV_FOUND="no"
18 for i in $LOOK_DIRS ; do
19     save_LIBS=$LIBS
20     save_LDFLAGS=$LDFLAGS
21     save_CPPFLAGS=$CPPFLAGS
22     CPPFLAGS="-I$i/include"
23     LDFLAGS="-L$i/lib"
24     LIBS=
25     export LDFLAGS LIBS CPPFLAGS
26 dnl Try to find iconv(3)
27     jm_ICONV($i)
28
29     TMP_ICONV_LIBS="$LIBS"
30
31     CPPFLAGS=$save_CPPFLAGS
32     LDFLAGS=$save_LDFLAGS
33     LIBS=$save_LIBS
34     export LDFLAGS LIBS CPPFLAGS
35
36     if test -n "$ICONV_FOUND" ; then
37         LIB_ADD_DIR(ICONV_LDFLAGS, $i/lib)
38         CFLAGS_ADD_DIR(ICONV_CPPFLAGS, $i/include)
39         ICONV_LIBS="$TMP_ICONV_LIBS"
40         break
41     fi
42 done
43
44 ############
45 # check for iconv in libc
46 AC_CACHE_CHECK([for working iconv],samba_cv_HAVE_NATIVE_ICONV,[
47 AC_TRY_RUN([
48 #include <iconv.h>
49 main() {
50        iconv_t cd = iconv_open("ASCII", "UCS-2LE");
51        if (cd == 0 || cd == (iconv_t)-1) return -1;
52        return 0;
53 }
54 ],
55 samba_cv_HAVE_NATIVE_ICONV=yes,samba_cv_HAVE_NATIVE_ICONV=no,samba_cv_HAVE_NATIVE_ICONV=cross)])
56 if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes"; then
57     AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv])
58 fi
59
60 if test x"$ICONV_FOUND" = x"no" -o x"$samba_cv_HAVE_NATIVE_ICONV" != x"yes" ; then
61     AC_MSG_WARN([Sufficient support for iconv function was not found. 
62     Install libiconv from http://freshmeat.net/projects/libiconv/ for better charset compatibility!])
63 fi
64
65 SMB_EXT_LIB(ICONV,[${ICONV_LIBS}],[${ICONV_CFLAGS}],[${ICONV_CPPFLAGS}],[${ICONV_LDFLAGS}])