diff options
author | Moriyoshi Koizumi <moriyoshi@php.net> | 2002-10-29 16:18:12 +0000 |
---|---|---|
committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2002-10-29 16:18:12 +0000 |
commit | e8cf2253fba2c3ee08f04d26fe2f7ffa4c0f14d8 (patch) | |
tree | 82dd501611d5aa6d4340e1692f02dccfd3bd8162 /ext | |
parent | cc62badf9dbc53e0cc0b28e6104cc617e56a5e93 (diff) | |
download | php-git-e8cf2253fba2c3ee08f04d26fe2f7ffa4c0f14d8.tar.gz |
Improved library identification
Diffstat (limited to 'ext')
-rw-r--r-- | ext/iconv/config.m4 | 47 |
1 files changed, 38 insertions, 9 deletions
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 <iconv.h>],[void __gconv(); int main() { __gconv(); }], + AC_TRY_LINK([#include <gnu/libc-version.h>],[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.h>],[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 |