From 728c756a734f8e01737bea97aa0f4f1103fcb6a2 Mon Sep 17 00:00:00 2001 From: Kai Blin Date: Fri, 4 Dec 2009 09:47:25 +0100 Subject: [PATCH] s3 aclocal.m4: Fix iconv checks, clean up m4 code The check for iconv requiring giconv.h and libgiconv as well as the check for iconv requiring biconv.h and libbiconv were using the wrong variable to check for previous successful test results. This caused the checks to always fall back to libbiconv on systems where that library was available. In the course of fixing this, I had to clean up the indentation in that piece of code, and I also rewrote/added some comments. Many thanks to Tsurutani Naoki for the initial patch and diagnosis. (cherry picked from commit f5aff324cb9d965bbc75634596c3c40ffc588183) (cherry picked from commit 217a02b4a6432b1e232fe8dd0b022bc85ab47e56) --- source3/m4/aclocal.m4 | 57 +++++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/source3/m4/aclocal.m4 b/source3/m4/aclocal.m4 index 29033b79667..bdad6fa6e50 100644 --- a/source3/m4/aclocal.m4 +++ b/source3/m4/aclocal.m4 @@ -433,45 +433,47 @@ AC_DEFUN(jm_ICONV, jm_cv_giconv=no jm_save_LIBS="$LIBS" - dnl Check for include in funny place but no lib needed - if test "$jm_cv_func_iconv" != yes; then - AC_TRY_LINK([#include + dnl Check for include in giconv.h but no lib needed + if test "$jm_cv_func_iconv" != yes; then + AC_TRY_LINK([#include #include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + jm_cv_func_iconv=yes + jm_cv_include="giconv.h" + 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 +#include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], + jm_cv_include="iconv.h" jm_cv_func_iconv=yes - jm_cv_include="giconv.h" - jm_cv_giconv="yes" jm_cv_lib_iconv="") - dnl Standard iconv.h include, lib in glibc or libc ... + dnl Include in giconv.h, libgiconv needed to link if test "$jm_cv_func_iconv" != yes; then + jm_save_LIBS="$LIBS" + LIBS="$LIBS -lgiconv" AC_TRY_LINK([#include -#include ], +#include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], - jm_cv_include="iconv.h" - jm_cv_func_iconv=yes - jm_cv_lib_iconv="") - - if test "$jm_cv_lib_iconv" != yes; then - jm_save_LIBS="$LIBS" - LIBS="$LIBS -lgiconv" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - jm_cv_lib_iconv=yes - jm_cv_func_iconv=yes - jm_cv_include="giconv.h" - jm_cv_giconv=yes - jm_cv_lib_iconv="giconv") + jm_cv_lib_iconv=yes + jm_cv_func_iconv=yes + jm_cv_include="giconv.h" + jm_cv_giconv=yes + jm_cv_lib_iconv="giconv") - LIBS="$jm_save_LIBS" + LIBS="$jm_save_LIBS" + dnl Include in iconv.h, libiconv needed to link if test "$jm_cv_func_iconv" != yes; then jm_save_LIBS="$LIBS" LIBS="$LIBS -liconv" @@ -485,7 +487,8 @@ AC_DEFUN(jm_ICONV, jm_cv_lib_iconv="iconv") LIBS="$jm_save_LIBS" - if test "$jm_cv_lib_iconv" != yes; then + dnl Include in biconv.h, libbiconv needed to link + if test "$jm_cv_func_iconv" != yes; then jm_save_LIBS="$LIBS" LIBS="$LIBS -lbiconv" AC_TRY_LINK([#include @@ -500,7 +503,7 @@ AC_DEFUN(jm_ICONV, jm_cv_lib_iconv="biconv") LIBS="$jm_save_LIBS" - fi + fi fi fi fi -- 2.11.4.GIT