diff options
-rw-r--r-- | source3/aclocal.m4 | 33 | ||||
-rw-r--r-- | source3/configure.in | 12 |
2 files changed, 25 insertions, 20 deletions
diff --git a/source3/aclocal.m4 b/source3/aclocal.m4 index 5169eee41b..96f265daf2 100644 --- a/source3/aclocal.m4 +++ b/source3/aclocal.m4 @@ -516,7 +516,7 @@ AC_DEFUN(jm_ICONV, dnl those with the standalone portable libiconv installed). AC_MSG_CHECKING(for iconv in $1) jm_cv_func_iconv="no" - jm_cv_lib_iconv=no + jm_cv_lib_iconv="" jm_cv_giconv=no jm_save_LIBS="$LIBS" LIBS="$LIBS -lbiconv" @@ -528,9 +528,10 @@ AC_DEFUN(jm_ICONV, jm_cv_func_iconv=yes jm_cv_biconv=yes jm_cv_include="biconv.h" - jm_cv_lib_iconv="yes") + jm_cv_lib_iconv="biconv") LIBS="$jm_save_LIBS" + dnl Check for include in funny place but no lib needed if test "$jm_cv_func_iconv" != yes; then AC_TRY_LINK([#include <stdlib.h> #include <giconv.h>], @@ -539,8 +540,10 @@ AC_DEFUN(jm_ICONV, iconv_close(cd);], jm_cv_func_iconv=yes jm_cv_include="giconv.h" - jm_cv_giconv="yes") + jm_cv_giconv="yes" + jm_cv_lib_iconv="") + dnl Standard iconv.h include, lib in glibc or libc ... if test "$jm_cv_func_iconv" != yes; then AC_TRY_LINK([#include <stdlib.h> #include <iconv.h>], @@ -548,7 +551,8 @@ AC_DEFUN(jm_ICONV, iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], jm_cv_include="iconv.h" - jm_cv_func_iconv=yes) + jm_cv_func_iconv=yes + jm_cv_lib_iconv="") if test "$jm_cv_lib_iconv" != yes; then jm_save_LIBS="$LIBS" @@ -561,8 +565,10 @@ AC_DEFUN(jm_ICONV, jm_cv_lib_iconv=yes jm_cv_func_iconv=yes jm_cv_include="giconv.h" - jm_cv_giconv=yes) - LIBS="$jm_save_LIBS" + jm_cv_giconv=yes + jm_cv_lib_iconv="giconv") + + LIBS="$jm_save_LIBS" if test "$jm_cv_func_iconv" != yes; then jm_save_LIBS="$LIBS" @@ -572,9 +578,9 @@ AC_DEFUN(jm_ICONV, [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], - jm_cv_lib_iconv=yes jm_cv_include="iconv.h" - jm_cv_func_iconv=yes) + jm_cv_func_iconv=yes + jm_cv_lib_iconv="iconv") LIBS="$jm_save_LIBS" fi fi @@ -599,17 +605,6 @@ AC_DEFUN(jm_ICONV, else AC_MSG_RESULT(no) fi - if test "$jm_cv_lib_iconv" = yes; then - if test "$jm_cv_giconv" = yes; then - LIBS="$LIBS -lgiconv" - else - if test "$jm_cv_biconv" = yes; then - LIBS="$LIBS -lbiconv" - else - LIBS="$LIBS -liconv" - fi - fi - fi ]) AC_DEFUN(rjs_CHARSET,[ diff --git a/source3/configure.in b/source3/configure.in index 269fdf97ed..2c1880f3b2 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -1617,7 +1617,7 @@ dnl Try to find iconv(3) LDFLAGS=$save_LDFLAG LIB_ADD_DIR(LDFLAGS, "$i/lib") CFLAGS_ADD_DIR(CPPFLAGS, "$i/include") - LIBS="$save_LIBS" + LIBS="$save_LIBS" ICONV_LOCATION=$i export LDFLAGS LIBS CPPFLAGS dnl Now, check for a working iconv ... we want to do it here because @@ -1629,6 +1629,9 @@ dnl there might be a working iconv further down the list of LOOK_DIRS if test x"$ICONV_PATH_SPEC" = "xyes" ; then LIBS="$LIBS -L$ICONV_LOCATION/lib" fi + if test x"$jm_cv_lib_iconv" != x; then + LIBS="$LIBS -l$jm_cv_lib_iconv" + fi dnl AC_CACHE_CHECK([for working iconv],samba_cv_HAVE_NATIVE_ICONV,[ default_dos_charset=no default_display_charset=no @@ -1683,6 +1686,13 @@ dnl ]) if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes"; then CPPFLAGS=$save_CPPFLAGS CFLAGS_ADD_DIR(CPPFLAGS, "$i/include") + LIBS=$save_LIBS + if test x"$jm_cv_lib_iconv" != x; then + LIBS="$LIBS -l$jm_cv_lib_iconv" + fi + dnl Add the flags we need to CPPFLAGS and LDFLAGS + CFLAGS_ADD_DIR(CPPFLAGS, "$i/include") + LIB_ADD_DIR(LDFLAGS, "$i/lib") export CPPFLAGS AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv]) AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,$default_dos_charset,[Default dos charset name]) |