From: Moriyoshi Koizumi Date: Tue, 29 Oct 2002 16:18:12 +0000 (+0000) Subject: Improved library identification X-Git-Tag: php-4.3.0RC1~445 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e8cf2253fba2c3ee08f04d26fe2f7ffa4c0f14d8;p=php Improved library identification --- diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 index b6ac4a1afb..5e2b47245d 100644 --- a/ext/iconv/config.m4 +++ b/ext/iconv/config.m4 @@ -55,29 +55,58 @@ int main() { if test -z "$iconv_lib_name"; then AC_MSG_CHECKING([if iconv is glibc's]) - AC_TRY_COMPILE([#include ],[void __gconv(); int main() { __gconv(); }], + AC_TRY_LINK([#include ],[gnu_get_libc_version();], [ AC_MSG_RESULT(yes) - PHP_DEFINE([HAVE_GLIBC_ICONV],1) - AC_DEFINE([HAVE_GLIBC_ICONV],1,[glibc's iconv implementation]) - PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"]) - AC_DEFINE([PHP_ICONV_IMPL],["glibc"],[Which iconv implementation to use]) + iconv_impl_name="glibc" ],[ AC_MSG_RESULT(no) ]) else case "$iconv_lib_name" in iconv [)] - PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"]) - AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use]) + AC_MSG_CHECKING([if iconv is Konstantin Chugeuv's]) + AC_TRY_LINK([#include ],[iconv_ccs_init(NULL, NULL);], + [ + AC_MSG_RESULT(yes) + iconv_impl_name="bsd" + ],[ + AC_MSG_RESULT(no) + iconv_impl_name="gnu_libiconv" + ]) ;; + giconv [)] - PHP_DEFINE([PHP_ICONV_IMPL],[\"giconv\"]) - AC_DEFINE([PHP_ICONV_IMPL],["giconv"],[Which iconv implementation to use]) + iconv_impl_name="gnu_libiconv" + ;; + + biconv [)] + iconv_impl_name="bsd" ;; esac fi + case "$iconv_impl_name" in + gnu_libiconv [)] + PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"]) + AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use]) + ;; + + bsd [)] + PHP_DEFINE([HAVE_BSD_ICONV],1) + AC_DEFINE([HAVE_BSD_ICONV],1,[Konstantin Chugeuv's iconv implementation]) + PHP_DEFINE([PHP_ICONV_IMPL],[\"BSD iconv\"]) + AC_DEFINE([PHP_ICONV_IMPL],["BSD iconv"],[Which iconv implementation to use]) + ;; + + glibc [)] + PHP_DEFINE([HAVE_GLIBC_ICONV],1) + AC_DEFINE([HAVE_GLIBC_ICONV],1,[glibc's iconv implementation]) + PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"]) + AC_DEFINE([PHP_ICONV_IMPL],["glibc"],[Which iconv implementation to use]) + ;; + esac + PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared) PHP_SUBST(ICONV_SHARED_LIBADD) else