Author: jelmer Date: 2006-05-24 17:57:54 +0000 (Wed, 24 May 2006) New Revision: 15870
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15870 Log: 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. Modified: branches/SAMBA_4_0/source/include/system/iconv.h branches/SAMBA_4_0/source/lib/charset/config.m4 Changeset: Modified: branches/SAMBA_4_0/source/include/system/iconv.h =================================================================== --- branches/SAMBA_4_0/source/include/system/iconv.h 2006-05-24 17:47:40 UTC (rev 15869) +++ branches/SAMBA_4_0/source/include/system/iconv.h 2006-05-24 17:57:54 UTC (rev 15870) @@ -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 */ Modified: branches/SAMBA_4_0/source/lib/charset/config.m4 =================================================================== --- branches/SAMBA_4_0/source/lib/charset/config.m4 2006-05-24 17:47:40 UTC (rev 15869) +++ branches/SAMBA_4_0/source/lib/charset/config.m4 2006-05-24 17:57:54 UTC (rev 15870) @@ -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 @@ 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 @@ ]) 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