5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl $Id: configure.in,v 1.1 2003/06/04 00:25:25 marka Exp $
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Process this file with autoconf to produce a configure script.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Copyright (c) 2000 Japan Network Information Center. All rights reserved.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl By using this file, you agree to the terms and conditions set forth bellow.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl LICENSE TERMS AND CONDITIONS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl The following License Terms and Conditions apply, unless a different
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl license is obtained from Japan Network Information Center ("JPNIC"),
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Chiyoda-ku, Tokyo 101-0047, Japan.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl 1. Use, Modification and Redistribution (including distribution of any
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl modified or derived work) in source and/or binary forms is permitted
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl under this License Terms and Conditions.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl 2. Redistribution of source code must retain the copyright notices as they
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl appear in each source code file, this License Terms and Conditions.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl 3. Redistribution in binary form must reproduce the Copyright Notice,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl this License Terms and Conditions, in the documentation and/or other
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl materials provided with the distribution. For the purposes of binary
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl distribution the "Copyright Notice" refers to the following language:
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl "Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved."
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl 4. The name of JPNIC may not be used to endorse or promote products
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl derived from this Software without specific prior written approval of
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl JPNIC.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_INIT(include/idn/converter.h)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_CANONICAL_HOST
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdebug=no
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_ENABLE(debug,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --enable-debug enable debug codes [default=no]],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews debug=$enableval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$debug" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews CFLAGS="$CFLAGS -DDEBUG"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsmdnkit_compat=no
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsCOMPAT_TRUE="#"
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsCOMPAT_FALSE=
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_ENABLE(mdnkit-compat,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --enable-mdnkit-compat enable mDNkit compatibility mode [default=no]],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews mdnkit_compat=$enableval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$mdnkit_compat" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews COMPAT_TRUE=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews COMPAT_FALSE="#"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE(ENABLE_MDNKIT_COMPAT, 1,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define if --enable-mdnkit-compat is specified])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([You must specify yes or no to --enable-runidn option.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(COMPAT_TRUE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(COMPAT_FALSE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsextraace=no
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_ENABLE(extra-ace,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --enable-extra-ace enable additional ACE converters. [default=no]],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews extraace=$enableval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$extraace" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE(IDN_EXTRA_ACE, 1,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define if you want additional ACE converters compiled in.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([You must specify yes or no to --enable-extra-ace option.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsUTF8_NAME=no
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_WITH(utf8,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --with-utf8=NAME codeset name for UTF-8 encoding [UTF-8]],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews UTF8_NAME=$withval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$UTF8_NAME" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews UTF8_NAME=UTF-8
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([You must specify NAME to --with-utf8 option.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE_UNQUOTED(IDN_UTF8_ENCODING_NAME, "$UTF8_NAME",
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define if your iconv() does not accept "UTF-8" as the codeset name for utf-8.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(UTF8_NAME)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsliteonly=no
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsLITEONLY_TRUE="#"
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsLITEONLY_FALSE=
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_ENABLE(liteonly,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --enable-liteonly compile and install lite library only [default=no]],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews liteonly=$enableval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$liteonly" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$install_runidn" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set value \"yes\" to --enable-runidn and --enable-liteonly simultaneously, because runidn requires iconv support of generic libidnkit.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LITEONLY_TRUE=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LITEONLY_FALSE="#"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([You must specify yes or no to --enable-liteonly option.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(LITEONLY_TRUE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(LITEONLY_FALSE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsinstall_runidn=no
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsRUNIDN_TRUE="#"
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsRUNIDN_FALSE=
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_ENABLE(runidn,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --enable-runidn compile and install runidn [default=no]],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews install_runidn=$enableval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$install_runidn" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set value \"yes\" to --enable-runidn and --enable-liteonly simultaneously, because runidn requires iconv support of generic libidnkit.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews RUNIDN_TRUE=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews RUNIDN_FALSE="#"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([You must specify yes or no to --enable-runidn option.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(RUNIDN_TRUE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(RUNIDN_FALSE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsICONVINC=
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsICONVLIB=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewslibiconv=unspec
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_WITH(libiconv,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --with-libiconv=IPREFIX GNU libiconv are installed in IPREFIX [PREFIX]],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews libiconv=$withval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$libiconv" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsunspec)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVINC=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVLIB=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test X$prefix = XNONE ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews libiconv=$ac_default_prefix
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews else
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews libiconv=$prefix
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVINC="-I$libiconv/include"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVLIB="-L$libiconv/lib -R$libiconv/lib -liconv"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVINC="-I$libiconv/include"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVLIB="-L$libiconv/lib -R$libiconv/lib -liconv"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsiconv_include=unspec
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_WITH(iconv-include,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --with-iconv-include=DIR iconv include files are in DIR []],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews iconv_include=$withval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$iconv_include" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsunspec)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVINC=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_WARN([You must supply DIR to --with-iconv-include option.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews Ignored.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVINC=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVINC="-I$iconv_include"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "X$ICONVINC" != X ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews iconv_include="`echo X$ICONVINC | sed -e 's/^X-I//'`"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test ! -f "$iconv_include/iconv.h" ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([iconv.h doesn't exist in $iconv_include])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(ICONVINC)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsiconv=unspec
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_WITH(iconv,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --with-iconv=LIB special library for iconv []],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews iconv=$withval)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$iconv" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsunspec)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVLIB=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_WARN([You must supply LIB to --with-iconv option.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews -liconv is assumed.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVLIB=-liconv
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVLIB=$iconv
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(ICONVLIB)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_ARG_WITH(iconv-sofile,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews[ --with-iconv-sofile=PATH shared library file for libiconv []],
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews iconv_file=$withval, iconv_file=guess)
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsICONVSOFILE=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$iconv_file" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsno)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVSOFILE=none
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsyes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([You must supply PATH to --with-iconv-sofile option.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsguess)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" != yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ICONVLIB" = ""; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVSOFILE=none
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews else
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_CHECKING(pathname of iconv shared library)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ic_libdir=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ic_libname=
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews case "$host" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews *-hpux*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews SO=sl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews *)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews SO=so
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews esac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews for arg in $ICONVLIB; do
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews case "$arg" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews -L*) ic_libdir="$ic_libdir `echo $arg | sed s/-L//`" ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews -l*) ic_libname=`echo $arg | sed s/-l//` ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews /*.$SO*) ICONVSOFILE=$arg ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews esac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews done
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ICONVSOFILE" = ""; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ic_libname" = ""; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_RESULT(unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_WARN([use --with-iconv-sofile for specifying iconv shared library file])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVSOFILE=none
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews else
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ic_libdir" = ""; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews # Standard (and semi-standard) library directories
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ic_libdir="/lib /usr/lib /usr/local/lib"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews for dir in $ic_libdir; do
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVSOFILE=`ls -r $dir/lib$ic_libname.$SO* 2>/dev/null | head -1`
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ICONVSOFILE" != ""; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews break
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews done
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ICONVSOFILE" != ""; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_RESULT($ICONVSOFILE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews else
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_RESULT(unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_WARN([use --with-iconv-sofile for specifying iconv shared library file])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVSOFILE=none
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews else
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVSOFILE=none
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$liteonly" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([you can't set iconv options at all when you set value \"yes\" to --enable-liteonly, because lite library does not have iconv support.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ICONVSOFILE=$iconv_file
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(ICONVSOFILE)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Figure out preload stuff.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsPRELOAD_VAR="LD_PRELOAD"
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsPRELOAD_SEP=":"
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsPRELOAD_LAST=""
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewscase "$host" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*-solaris*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews PRELOAD_SEP=" "
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*-linux*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews PRELOAD_SEP=" "
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*-osf*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews PRELOAD_VAR="_RLD_LIST"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews PRELOAD_LAST=":DEFAULT"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews*-netbsd*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test -x /usr/bin/file -a -x /usr/bin/grep ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews case "`/usr/bin/file /usr/bin/grep`" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews *ELF*)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews PRELOAD_SEP=" "
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews esac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsesac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(PRELOAD_VAR)
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(PRELOAD_SEP)
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_SUBST(PRELOAD_LAST)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks for standard tools.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_PROG_CC
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_PROG_INSTALL
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAM_PROG_LIBTOOL
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_PATH_PROGS(PERL, perl, perl)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks for header files.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_CHECK_HEADERS(unistd.h locale.h langinfo.h pwd.h)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$install_runidn" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_HEADERS(dlfcn.h)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewssaved_CPPFLAGS=$CPPFLAGS
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsCPPFLAGS="$CPPFLAGS $ICONVINC"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$liteonly" != yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_HEADER(iconv.h, , [AC_MSG_ERROR([iconv.h doesn't exist])])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsCPPFLAGS=$saved_CPPFLAGS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks for data types.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_TYPE_UID_T
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl for dnsproxy.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_CHECK_TYPE(BOOL, int)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks for libraries.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$install_runidn" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_LIB(socket, socket)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_LIB(nsl, inet_addr)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_LIB(dl, dlopen, [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LIBS="-ldl $LIBS"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LIBDL="-ldl"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE(HAVE_LIBDL, 1, [Define if you have the dl library (-ldl).])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_SUBST(LIBDL)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks for library functions.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_CHECK_FUNCS(vsnprintf setvbuf setlocale nl_langinfo memmove bcopy setenv \
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews unsetenv)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$install_runidn" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_FUNCS(gethostbyname gethostbyname2 gethostbyaddr)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_FUNCS(gethostbyname_r gethostbyname2_r gethostbyaddr_r, find_gethost_r=yes)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_FUNCS(getipnodebyname getipnodebyaddr freehostent)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_FUNCS(getaddrinfo freeaddrinfo getnameinfo)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CHECK_FUNCS(dlopen dlsym)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$install_runidn" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks the flavor of gethostbyaddr* functions.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CACHE_CHECK(flavor of gethostbyaddr, ac_cv_flavor_gethostbyaddr,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [ac_cv_flavor_gethostbyaddr=unknown
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return NULL;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)gethostbyaddr(NULL, 0, 0);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], ac_cv_flavor_gethostbyaddr=glibc2_2,,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_gethostbyaddr=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews struct hostent *gethostbyaddr(const char *addr, size_t len, int type) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return NULL;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)gethostbyaddr(NULL, 0, 0);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], ac_cv_flavor_gethostbyaddr=glibc,,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_gethostbyaddr=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews struct hostent *gethostbyaddr(const char *addr, int len, int type) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return NULL;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)gethostbyaddr(NULL, 0, 0);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], ac_cv_flavor_gethostbyaddr=traditional,,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_gethostbyaddr=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ac_cv_func_gethostbyaddr" = no ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_gethostbyaddr=none
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews case "$ac_cv_flavor_gethostbyaddr" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews glibc2_2)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_ghba_addr_t='const void *'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_ghba_addrlen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews glibc)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_ghba_addr_t='const char *'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_ghba_addrlen_t='size_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews traditional | none)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_ghba_addr_t='const char *'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_ghba_addrlen_t='int'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews *)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([can't build runidn, since parameter type list of gethostbyaddr() is unknown to configure.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews esac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE_UNQUOTED(GHBA_ADDR_T, $ac_cv_type_ghba_addr_t,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define as the type of the 1st argument of gethostbyaddr.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE_UNQUOTED(GHBA_ADDRLEN_T, $ac_cv_type_ghba_addrlen_t,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define as the type of the 2nd argument of gethostbyaddr.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks the flavor of getnameinfo functions.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CACHE_CHECK(flavor of getnameinfo, ac_cv_flavor_getnameinfo,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [ac_cv_flavor_getnameinfo=unknown
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews socklen_t hostlen, char *serv, socklen_t servlen,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews unsigned int flags) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return NULL;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], ac_cv_flavor_getnameinfo=glibc2_2_2,,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_getnameinfo=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews socklen_t hostlen, char *serv, socklen_t servlen,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int flags) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return NULL;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], ac_cv_flavor_getnameinfo=rfc2553bis_03,,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_getnameinfo=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews size_t hostlen, char *serv, size_t servlen, int flags) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return NULL;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], ac_cv_flavor_getnameinfo=rfc2553,,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_getnameinfo=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int getnameinfo(const struct sockaddr *sa, size_t salen, char *host,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews size_t hostlen, char *serv, size_t servlen, int flags) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return NULL;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)getnameinfo(NULL, 0, NULL, 0, NULL, 0, 0);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], ac_cv_flavor_getnameinfo=rfc2133,,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_getnameinfo=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ac_cv_func_getnameinfo" = no ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_getnameinfo=none
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews case "$ac_cv_flavor_getnameinfo" in
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews glibc2_2_2)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_salen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_hostlen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_servlen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_flags_t='unsigned int'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews rfc2553bis_03)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_salen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_hostlen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_servlen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_flags_t='int'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews rfc2553)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_salen_t='socklen_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_hostlen_t='size_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_servlen_t='size_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_flags_t='int'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews rfc2133 | none)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_salen_t='size_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_hostlen_t='size_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_servlen_t='size_t'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_type_gni_flags_t='int'
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ;;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews *)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR([can't build runidn, since parameter type list of getnameinfo() is unknown to configure.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews esac
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE_UNQUOTED(GNI_SALEN_T, $ac_cv_type_gni_salen_t,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define as the type of the 2nd argument of getnameinfo.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE_UNQUOTED(GNI_HOSTLEN_T, $ac_cv_type_gni_hostlen_t,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define as the type of the 4th argument of getnameinfo.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE_UNQUOTED(GNI_SERVLEN_T, $ac_cv_type_gni_servlen_t,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define as the type of the 6th argument of getnameinfo.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE_UNQUOTED(GNI_FLAGS_T, $ac_cv_type_gni_flags_t,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define as the type of the 7th argument of getnameinfo.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl resume here.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks the flavor of gethost*_r functions.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$find_gethost_r" = yes; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_CACHE_CHECK(flavor of gethostbyname_r, ac_cv_flavor_gethost_r,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [AC_TRY_RUN(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewschangequote(<<, >>)dnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews<<
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews#include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews#include <sys/types.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews#include <sys/socket.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews#include <netdb.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews#include <stdio.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsint main()
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews{
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int err = 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews struct hostent hebuf, *hp;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews char buf[10];
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews /* Try resolving a invalid name using glibc flavor. */
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews (void)gethostbyname_r("@#!", &hebuf, buf, sizeof(buf), &hp, &err);
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if (err != 0)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 0; /* glibc flavor */
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews else
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 1; /* Sun flavor */
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews}
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews>>,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewschangequote([, ])dnl
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_gethost_r=glibc,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_gethost_r=sun,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ac_cv_flavor_gethost_r=sun)])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$ac_cv_flavor_gethost_r" = "glibc"; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_DEFINE(GETHOST_R_GLIBC_FLAVOR, 1,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews [Define if the prototype of gethost*_r is glibc flavor.])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Find system shared object paths.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_FIND_SYSTEM_SHOBJ(libc)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$install_runidn" = yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_FIND_SYSTEM_SHOBJ(libnsl)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Checks for iconv library.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$liteonly" != yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_CHECKING(for iconv)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews saved_CPPFLAGS=$CPPFLAGS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews saved_LIBS=$LIBS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews CPPFLAGS="$CPPFLAGS $ICONVINC"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LIBS="$LIBS $ICONVLIB"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_LINK([
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <iconv.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], [
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews iconv_t i;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews i = iconv_open("ISO-8859-1", "UTF-8");
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], [iconv_try_link=yes], [iconv_try_link=no])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LIBS=$saved_LIBS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews CPPFLAGS=$saved_CPPFLAGS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_RESULT($iconv_try_link)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if test "$iconv_try_link" = no ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_ERROR(iconv function not available)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews fi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Check for codeset name for UTF-8.
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsif test "$liteonly" != yes ; then
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_CHECKING([for codeset name $UTF8_NAME])
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews saved_CPPFLAGS=$CPPFLAGS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews saved_LIBS=$LIBS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews CPPFLAGS="$CPPFLAGS $ICONVINC"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LIBS="$LIBS $ICONVLIB"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_TRY_RUN([
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stddef.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <stdlib.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #include <iconv.h>
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #define UTF8_NAME "$UTF8_NAME"
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews #define ICONV_FAIL ((iconv_t)(-1))
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews /* Check if the codeset name UTF8_NAME is valid by performing iconv_open(). */
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int main() {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews int i;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews /* list of codeset names likely to exist */
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews static char *codeset[] = {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews "ASCII", "ISO-8859-1", "ISO8859-1", "iso8859_1", "8859-1",
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews "Shift_JIS", "SJIS", "sjis", NULL,
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews };
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews /* First try null conversion. */
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if (iconv_open(UTF8_NAME, UTF8_NAME) != ICONV_FAIL) return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews /* Unfortunately, above check fails on certain systems, such as Solaris. */
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews for (i = 0; codeset[i] != NULL; i++) {
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews if (iconv_open(UTF8_NAME, codeset[i]) != ICONV_FAIL) return 0;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews return 1;
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews }
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews ], utf8_name_valid=yes, utf8_name_valid=no, utf8_name_valid=unknown)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews LIBS=$saved_LIBS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews CPPFLAGS=$saved_CPPFLAGS
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews AC_MSG_RESULT($utf8_name_valid)
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsfi
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrewsdnl Output.
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_CONFIG_HEADER(include/config.h)
5c526acb82c882e41b655c31f5fa4425c87b671cMark AndrewsAC_OUTPUT(
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews include/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews include/idn/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews include/mdn/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews lib/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews man/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews tools/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews tools/idnconv/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews tools/runidn/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews tools/runidn/runidn
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews map/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews lib/tests/Makefile
5c526acb82c882e41b655c31f5fa4425c87b671cMark Andrews)