mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
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 <turutani@scphys.kyoto-u.ac.jp> for the initial patch and diagnosis.
This commit is contained in:
parent
be78d4a70d
commit
f5aff324cb
57
source3/m4/aclocal.m4
vendored
57
source3/m4/aclocal.m4
vendored
@ -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 <stdlib.h>
|
||||
dnl Check for include in giconv.h but no lib needed
|
||||
if test "$jm_cv_func_iconv" != yes; then
|
||||
AC_TRY_LINK([#include <stdlib.h>
|
||||
#include <giconv.h>],
|
||||
[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 <stdlib.h>
|
||||
#include <iconv.h>],
|
||||
[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 <stdlib.h>
|
||||
#include <iconv.h>],
|
||||
#include <giconv.h>],
|
||||
[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="")
|
||||
jm_cv_lib_iconv=yes
|
||||
jm_cv_func_iconv=yes
|
||||
jm_cv_include="giconv.h"
|
||||
jm_cv_giconv=yes
|
||||
jm_cv_lib_iconv="giconv")
|
||||
|
||||
if test "$jm_cv_lib_iconv" != yes; then
|
||||
jm_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lgiconv"
|
||||
AC_TRY_LINK([#include <stdlib.h>
|
||||
#include <giconv.h>],
|
||||
[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")
|
||||
|
||||
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 <stdlib.h>
|
||||
@ -500,7 +503,7 @@ AC_DEFUN(jm_ICONV,
|
||||
jm_cv_lib_iconv="biconv")
|
||||
|
||||
LIBS="$jm_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user