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