You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
3.3 KiB

# LIBICONV_CHECK_CONFIG ([DEFAULT-ACTION])
# ----------------------------------------------------------
#
# Checks for iconv. DEFAULT-ACTION is the string yes or no to
# specify whether to default to --with-iconv or --without-iconv.
# If not supplied, DEFAULT-ACTION is no.
#
# This macro #defines HAVE_ICONV if a required header files is
# found, and sets @ICONV_LDFLAGS@ and @ICONV_CFLAGS@ to the necessary
# values.
#
# This macro is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
AC_DEFUN([LIBICONV_TRY_LINK],
[
found_iconv=$1
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <stdlib.h>
#include <iconv.h>
]], [[
iconv_t cd = iconv_open("","");
iconv(cd, NULL, NULL, NULL, NULL);
iconv_close(cd);
]])],[found_iconv="yes"],[])
])dnl
AC_DEFUN([LIBICONV_CHECK_CONFIG],
[
AC_ARG_WITH([iconv],[
If you want to specify iconv installation directories:
AS_HELP_STRING([--with-iconv@<:@=DIR@:>@], [use iconv from given base install directory (DIR), default is to search through a number of common places for the iconv files.])],
[
if test "$withval" = "yes"; then
ICONV_CFLAGS="-I/usr/include"
ICONV_LDFLAGS="-L/usr/lib"
_iconv_dir_set=$withval
elif test "$withval" != "no"; then
_iconv_dir_lib="$withval/lib"
ICONV_CFLAGS="-I$withval/include"
ICONV_LDFLAGS="-L$_iconv_dir_lib"
_iconv_dir_set="yes"
fi
]
)
AC_ARG_WITH([iconv-include],
AS_HELP_STRING([--with-iconv-include@<:@=DIR@:>@],
[use iconv include headers from given path.]
),
[
ICONV_CFLAGS="-I$withval"
_iconv_dir_set="yes"
]
)
AC_ARG_WITH([iconv-lib],
AS_HELP_STRING([--with-iconv-lib@<:@=DIR@:>@],
[use iconv libraries from given path.]
),
[
ICONV_LDFLAGS="-L$withval"
_iconv_dir_lib="-L$withval"
_iconv_dir_set="yes"
]
)
AC_CHECK_HEADER([iconv.h],[found_iconv=yes])
AC_MSG_CHECKING(for ICONV support)
if test -n "$_iconv_dir_set" -o "x$found_iconv" = xyes; then
found_iconv="yes"
elif test -f /usr/local/include/iconv.h; then
ICONV_CFLAGS="-I/usr/local/include"
ICONV_LDFLAGS="-L/usr/local/lib"
found_iconv="yes"
else
found_iconv="no"
AC_MSG_RESULT(no)
fi
if test "x$found_iconv" = "xyes"; then
am_save_CFLAGS="$CFLAGS"
am_save_LDFLAGS="$LDFLAGS"
am_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $ICONV_CFLAGS"
LDFLAGS="$LDFLAGS $ICONV_LDFLAGS"
LIBICONV_TRY_LINK([no])
if test "x$found_iconv" = "xno"; then
ICONV_LIBS="-liconv"
if test "x$enable_static_libs" = "xyes"; then
test "x$static_linking_support" = "xno" -a -z "$_iconv_dir_lib" && AC_MSG_ERROR(["Compiler not support statically linked libs from default folders"])
if test "x$static_linking_support" = "xno"; then
ICONV_LIBS="$_iconv_dir_lib/libiconv.a"
else
ICONV_LIBS="${static_linking_support}static $ICONV_LIBS ${static_linking_support}dynamic"
fi
fi
LIBS="$LIBS $ICONV_LIBS"
LIBICONV_TRY_LINK([no])
fi
LIBS="$am_save_LIBS"
CFLAGS="$am_save_CFLAGS"
LDFLAGS="$am_save_LDFLAGS"
fi
if test "x$found_iconv" = "xyes"; then
AC_DEFINE([HAVE_ICONV], 1, [Define to 1 if you have the 'libiconv' library (-liconv)])
AC_MSG_RESULT(yes)
else
ICONV_LIBS=""
ICONV_CFLAGS=""
ICONV_LDFLAGS=""
fi
AC_SUBST(ICONV_LIBS)
AC_SUBST(ICONV_CFLAGS)
AC_SUBST(ICONV_LDFLAGS)
])dnl