summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/aclocal.m433
-rw-r--r--source3/configure.in12
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])