summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sharpe <sharpe@samba.org>2003-11-06 23:37:58 +0000
committerRichard Sharpe <sharpe@samba.org>2003-11-06 23:37:58 +0000
commit80ff2046bda03cd0336992a5ed7cde9bc8a11b6e (patch)
treef2e6ed9034dd2a61ad976a46b9162fccac75c5cd
parent9f154119e8788e9c3525b0a61c64326abd35bdf6 (diff)
downloadsamba-80ff2046bda03cd0336992a5ed7cde9bc8a11b6e.tar.gz
samba-80ff2046bda03cd0336992a5ed7cde9bc8a11b6e.tar.bz2
samba-80ff2046bda03cd0336992a5ed7cde9bc8a11b6e.zip
A fix to allow configure to find iconv on a number of systems including those
that don't have such support in glibc. (This used to be commit de6d5f1d1025bec8991944060df50eb2602f7221)
-rw-r--r--source3/aclocal.m433
-rw-r--r--source3/configure.in13
2 files changed, 24 insertions, 22 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 8f0f1c8bfc..db9f3d4598 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1605,9 +1605,8 @@ for i in $LOOK_DIRS ; do
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$i/include"
dnl This is here to handle -withval stuff for --with-libiconv
- if test x"$ICONV_PATH_SPEC" = "xyes" ; then
- LDFLAGS="-L$i/lib"
- fi
+dnl Perhaps we should always add a -L
+ LDFLAGS="$LDFLAGS -L$i/lib"
LIBS=
export LDFLAGS LIBS CPPFLAGS
dnl Try to find iconv(3)
@@ -1629,6 +1628,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
@@ -1682,6 +1684,11 @@ dnl ])
LIBS="$ic_save_LIBS"
if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes"; then
CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+ if test x"$jm_cv_lib_iconv" != x; then
+ LIBS="$LIBS -l$jm_cv_lib_iconv"
+ fi
CFLAGS_ADD_DIR(CPPFLAGS, "$i/include")
export CPPFLAGS
AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv])