- we now specify the object files in the subsystems config.m4 file
[bbaumbach/samba-autobuild/.git] / source / lib / iconv.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     CPPFLAGS=$save_CPPFLAGS
30     if test -n "$ICONV_FOUND" ; then
31         LDFLAGS=$save_LDFLAGS
32         LIB_ADD_DIR(LDFLAGS, "$i/lib")
33         CFLAGS_ADD_DIR(CPPFLAGS, "$i/include")
34         LIBS="$save_LIBS $LIBS"
35         ICONV_LOCATION=$i
36         export LDFLAGS LIBS CPPFLAGS
37         break
38     else
39         LDFLAGS=$save_LDFLAGS
40         LIBS=$save_LIBS
41         export LDFLAGS LIBS CPPFLAGS
42     fi
43 done
44
45 ############
46 # check for iconv in libc
47 AC_CACHE_CHECK([for working iconv],samba_cv_HAVE_NATIVE_ICONV,[
48 AC_TRY_RUN([
49 #include <iconv.h>
50 main() {
51        iconv_t cd = iconv_open("ASCII", "UCS-2LE");
52        if (cd == 0 || cd == (iconv_t)-1) return -1;
53        return 0;
54 }
55 ],
56 samba_cv_HAVE_NATIVE_ICONV=yes,samba_cv_HAVE_NATIVE_ICONV=no,samba_cv_HAVE_NATIVE_ICONV=cross)])
57 if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes"; then
58     AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv])
59 fi
60
61 if test x"$ICONV_FOUND" = x"no" -o x"$samba_cv_HAVE_NATIVE_ICONV" != x"yes" ; then
62     AC_MSG_WARN([Sufficient support for iconv function was not found. 
63     Install libiconv from http://freshmeat.net/projects/libiconv/ for better charset compatibility!])
64 fi
65
66 SMB_SUBSYSTEM(CHARSET,lib/iconv.o,lib/charcnv.o)