1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

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)
This commit is contained in:
Jelmer Vernooij 2006-05-24 17:57:54 +00:00 committed by Gerald (Jerry) Carter
parent 70afbd5090
commit ca61b4f3b5
2 changed files with 8 additions and 18 deletions

View File

@ -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 */

View File

@ -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