r15869: Fix loop var to search paths for iconv
[Samba.git] / source4 / lib / charset / config.m4
blob9fcea97add0dee0b633bdbc197d07a0e1e86a359
1 dnl SMB_CHECK_ICONV(action-if-found,action-if-not-found)
2 AC_DEFUN(SMB_CHECK_ICONV,[
3   AC_CHECK_HEADERS(iconv.h giconv.h)
5   AC_TRY_RUN([#include <stdlib.h>
6 #ifdef HAVE_GICONV_H
7 #include <giconv.h>
8 #endif
9 #ifdef HAVE_ICONV_H
10 #include <iconv.h>
11 #endif
13 int main()
15    iconv_t cd = iconv_open("ASCII","UCS-2LE");
16    if (cd == 0 || cd == (iconv_t)-1) return -1;
17    return 0;
18
19    ],[$1],[$2])
22 dnl SMB_CHECK_ICONV_DIR(dir,action-if-found,action-if-not-found)
23 AC_DEFUN(SMB_CHECK_ICONV_DIR,
25     if test -f "$1/include/iconv.h" -o -f "$1/include/giconv.h"; then
26         CPPFLAGS="-I$1/include"
27         LDFLAGS="-L$1/lib"
28         LIBS=-liconv
30         SMB_CHECK_ICONV([$2], 
31         [
32             LIBS=-lgiconv
33             SMB_CHECK_ICONV([$2],[$3])
34         ])
36         CPPFLAGS=$save_CPPFLAGS
37         LDFLAGS=$save_LDFLAGS
38         LIBS=$save_LIBS
39     else
40         $2
41     fi
44 ICONV_FOUND=no
45 LOOK_DIRS="/usr /usr/local /sw"
46 AC_ARG_WITH(libiconv,
47 [  --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto) ],
49   if test "$withval" = "no" ; then
50     AC_MSG_ERROR(I won't take no for an answer)
51   else
52      if test "$withval" != "yes" ; then
53         SMB_CHECK_ICONV_DIR($withval, [
54                 ICONV_FOUND=yes; 
55                 ICONV_CPPFLAGS="$CPPFLAGS"
56                 ICONV_LIBS="$LIBS"
57                 ICONV_LDFLAGS="$LDFLAGS"
58                 ], [AC_MSG_ERROR([No iconv library found in $withval])])
59      fi
60   fi
63 if test x$ICONV_FOUND = xno; then
64         SMB_CHECK_ICONV([ICONV_FOUND=yes])
67 for i in $LOOK_DIRS ; do
68         if test x$ICONV_FOUND = xyes; then
69                 break
70         fi
71         
72         SMB_CHECK_ICONV_DIR($i, [
73                 ICONV_FOUND=yes; 
74                 ICONV_CPPFLAGS="$CPPFLAGS"
75                 ICONV_LIBS="$LIBS"
76                 ICONV_LDFLAGS="$LDFLAGS"
77                 ], [])
78 done
80 if test x"$ICONV_FOUND" = x"no"; then 
81     AC_MSG_WARN([Sufficient support for iconv function was not found. 
82     Install libiconv from http://www.gnu.org/software/libiconv/ for better charset compatibility!])
83         SMB_ENABLE(ICONV,NO)
84 else
85         AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether external iconv is available])
86         SMB_ENABLE(ICONV,YES)
89 SMB_EXT_LIB(ICONV,[${ICONV_LIBS}],[${ICONV_CFLAGS}],[${ICONV_CPPFLAGS}],[${ICONV_LDFLAGS}])