summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2006-05-24 17:57:54 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:08:35 -0500
commitca61b4f3b557b5505d9825fad81f6a22860cc716 (patch)
tree76ffd8cd7da02bb15951fc5fc063114e7b6764df
parent70afbd50908ab2c2bffbceebd1af30b2fbf1e4f0 (diff)
downloadsamba-ca61b4f3b557b5505d9825fad81f6a22860cc716.tar.gz
samba-ca61b4f3b557b5505d9825fad81f6a22860cc716.tar.bz2
samba-ca61b4f3b557b5505d9825fad81f6a22860cc716.zip
r15870: Improve detection of iconv - should prevent HAVE_ICONV_H being
defined when the installed iconv library doesn't match our criteria as well as some other minor fixes. (This used to be commit 7937932615434a59c84d8a1b81e368f6a5f8e429)
-rw-r--r--source4/include/system/iconv.h2
-rw-r--r--source4/lib/charset/config.m424
2 files changed, 8 insertions, 18 deletions
diff --git a/source4/include/system/iconv.h b/source4/include/system/iconv.h
index 96500dbfac..d5cbe84d8f 100644
--- a/source4/include/system/iconv.h
+++ b/source4/include/system/iconv.h
@@ -20,12 +20,14 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#ifdef HAVE_NATIVE_ICONV
#ifdef HAVE_ICONV_H
#include <iconv.h>
#endif
#ifdef HAVE_GICONV_H
#include <giconv.h>
#endif
+#endif
/* needed for some systems without iconv. Doesn't really matter
what error code we use */
diff --git a/source4/lib/charset/config.m4 b/source4/lib/charset/config.m4
index 9fcea97add..2e20f7ab37 100644
--- a/source4/lib/charset/config.m4
+++ b/source4/lib/charset/config.m4
@@ -1,14 +1,7 @@
dnl SMB_CHECK_ICONV(action-if-found,action-if-not-found)
AC_DEFUN(SMB_CHECK_ICONV,[
- AC_CHECK_HEADERS(iconv.h giconv.h)
-
AC_TRY_RUN([#include <stdlib.h>
-#ifdef HAVE_GICONV_H
-#include <giconv.h>
-#endif
-#ifdef HAVE_ICONV_H
-#include <iconv.h>
-#endif
+#include <$1>
int main()
{
@@ -16,29 +9,24 @@ int main()
if (cd == 0 || cd == (iconv_t)-1) return -1;
return 0;
}
- ],[$1],[$2])
+ ],[$2],[$3])
])
dnl SMB_CHECK_ICONV_DIR(dir,action-if-found,action-if-not-found)
AC_DEFUN(SMB_CHECK_ICONV_DIR,
[
- if test -f "$1/include/iconv.h" -o -f "$1/include/giconv.h"; then
CPPFLAGS="-I$1/include"
LDFLAGS="-L$1/lib"
LIBS=-liconv
- SMB_CHECK_ICONV([$2],
- [
- LIBS=-lgiconv
- SMB_CHECK_ICONV([$2],[$3])
+ SMB_CHECK_ICONV(iconv.h,[ AC_DEFINE(HAVE_ICONV_H,1,[Whether iconv.h is present]) $2 ], [
+ LIBS=-lgiconv
+ SMB_CHECK_ICONV(giconv.h,[AC_DEFINE(HAVE_GICONV_H,1,[Whether giconv.h is present]) $2],[$3])
])
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
- else
- $2
- fi
])
ICONV_FOUND=no
@@ -61,7 +49,7 @@ AC_ARG_WITH(libiconv,
])
if test x$ICONV_FOUND = xno; then
- SMB_CHECK_ICONV([ICONV_FOUND=yes])
+ SMB_CHECK_ICONV(iconv.h,[ICONV_FOUND=yes])
fi
for i in $LOOK_DIRS ; do