A fix to allow configure to find iconv on a number of systems including those
authorRichard Sharpe <sharpe@samba.org>
Thu, 6 Nov 2003 23:37:58 +0000 (23:37 +0000)
committerRichard Sharpe <sharpe@samba.org>
Thu, 6 Nov 2003 23:37:58 +0000 (23:37 +0000)
that don't have such support in glibc.
(This used to be commit de6d5f1d1025bec8991944060df50eb2602f7221)

source3/aclocal.m4
source3/configure.in

index 5169eee41b4be91ed7aa6b0310b239bca3ed4350..96f265daf26368d670d8d6abaa44648403e632ae 100644 (file)
@@ -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,[
index 8f0f1c8bfc0f0b93eda8ea45d784c5008a6a07e6..db9f3d45987d1825e38b41cd1e2b2433447f0f12 100644 (file)
@@ -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])