diff --git a/build/php.m4 b/build/php.m4
index fde0daafe00d4..1774f0cf57c3d 100644
--- a/build/php.m4
+++ b/build/php.m4
@@ -1844,24 +1844,20 @@ AC_DEFUN([PHP_SETUP_ICONV], [
[Define to 1 if you have the 'libiconv' function.])
dnl Check libc first if no path is provided in --with-iconv.
- if test "$PHP_ICONV" = "yes"; then
+ AS_VAR_IF([PHP_ICONV], [yes], [
dnl Reset LIBS temporarily as it may have already been included -liconv in.
- LIBS_save="$LIBS"
+ LIBS_save=$LIBS
LIBS=
- AC_CHECK_FUNC([iconv], [
- found_iconv=yes
- ],[
- AC_CHECK_FUNC([libiconv], [
+ AC_CHECK_FUNC([iconv], [found_iconv=yes],
+ [AC_CHECK_FUNC([libiconv], [
AC_DEFINE([HAVE_LIBICONV], [1])
found_iconv=yes
- ])
- ])
- LIBS="$LIBS_save"
- fi
+ ])])
+ LIBS=$LIBS_save
+ ])
dnl Check external libs for iconv funcs.
- if test "$found_iconv" = "no"; then
-
+ AS_VAR_IF([found_iconv], [no], [
for i in $PHP_ICONV /usr/local /usr; do
if test -r $i/include/gnu-libiconv/iconv.h; then
ICONV_DIR=$i
@@ -1876,9 +1872,10 @@ AC_DEFUN([PHP_SETUP_ICONV], [
fi
done
- if test -z "$ICONV_DIR"; then
- AC_MSG_ERROR([Please specify the install prefix of iconv with --with-iconv=
])
- fi
+ AS_VAR_IF([ICONV_DIR],,
+ [AC_MSG_ERROR(m4_text_wrap([
+ Please specify the install prefix of iconv with --with-iconv=
+ ]))])
if test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.a ||
test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.$SHLIB_SUFFIX_NAME ||
@@ -1896,7 +1893,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [
[-L$ICONV_DIR/$PHP_LIBDIR])],
[-L$ICONV_DIR/$PHP_LIBDIR])
fi
- fi
+ ])
if test "$found_iconv" = "yes"; then
if test -n "$ICONV_DIR"; then
diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
index d3900323a14c7..f0c31c1114af1 100644
--- a/ext/iconv/config.m4
+++ b/ext/iconv/config.m4
@@ -8,69 +8,57 @@ if test "$PHP_ICONV" != "no"; then
PHP_SETUP_ICONV([ICONV_SHARED_LIBADD],,
[AC_MSG_FAILURE([The iconv not found.])])
- save_LDFLAGS=$LDFLAGS
- save_CFLAGS=$CFLAGS
- LDFLAGS="$ICONV_SHARED_LIBADD $LDFLAGS"
- CFLAGS="$INCLUDES $CFLAGS"
-
- AC_MSG_CHECKING([if iconv is glibc's])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[gnu_get_libc_version();]])],[
- AC_MSG_RESULT([yes])
- iconv_impl_name="glibc"
- ],[
- AC_MSG_RESULT([no])
- ])
-
- if test -z "$iconv_impl_name"; then
- AC_MSG_CHECKING([if using GNU libiconv])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [(void) _libiconv_version])],[
- AC_MSG_RESULT([yes])
- iconv_impl_name="gnu_libiconv"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test -z "$iconv_impl_name"; then
- AC_MSG_CHECKING([if iconv is Konstantin Chuguev's])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[iconv_ccs_init(NULL, NULL);]])],[
- AC_MSG_RESULT([yes])
- iconv_impl_name="bsd"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
-
- if test -z "$iconv_impl_name"; then
- AC_MSG_CHECKING([if using IBM iconv])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[cstoccsid("");]])],[
- AC_MSG_RESULT([yes])
- iconv_impl_name="ibm"
- ],[
- AC_MSG_RESULT([no])
- ])
- fi
+ save_LDFLAGS=$LDFLAGS
+ save_CFLAGS=$CFLAGS
+ LDFLAGS="$ICONV_SHARED_LIBADD $LDFLAGS"
+ CFLAGS="$INCLUDES $CFLAGS"
+
+ AC_CACHE_CHECK([for iconv implementation], [php_cv_iconv_implementation], [
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],
+ [gnu_get_libc_version();])],
+ [php_cv_iconv_implementation=glibc],
+ [php_cv_iconv_implementation=unknown])
+
+ AS_VAR_IF([php_cv_iconv_implementation], [unknown],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],
+ [(void) _libiconv_version])],
+ [php_cv_iconv_implementation="GNU libiconv"],
+ [php_cv_iconv_implementation=unknown])])
+
+ dnl BSD iconv by Konstantin Chuguev.
+ AS_VAR_IF([php_cv_iconv_implementation], [unknown],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],
+ [iconv_ccs_init(NULL, NULL);])],
+ [php_cv_iconv_implementation=BSD],
+ [php_cv_iconv_implementation=unknown])])
+
+ AS_VAR_IF([php_cv_iconv_implementation], [unknown],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],
+ [cstoccsid("");])],
+ [php_cv_iconv_implementation=IBM],
+ [php_cv_iconv_implementation=unknown])])
+ ])
AH_TEMPLATE([PHP_ICONV_IMPL], [The iconv implementation.])
- AS_CASE([$iconv_impl_name],
- [gnu_libiconv], [
- AC_DEFINE([PHP_ICONV_IMPL], ["libiconv"])
- AC_DEFINE([HAVE_LIBICONV], [1])
- ],
- [bsd], [AC_DEFINE([PHP_ICONV_IMPL], ["BSD iconv"])],
+ AS_CASE([$php_cv_iconv_implementation],
[glibc], [
AC_DEFINE([HAVE_GLIBC_ICONV], [1],
[Define to 1 if iconv implementation is glibc.])
AC_DEFINE([PHP_ICONV_IMPL], ["glibc"])
],
- [ibm], [
+ ["GNU libiconv"], [
+ AC_DEFINE([PHP_ICONV_IMPL], ["libiconv"])
+ AC_DEFINE([HAVE_LIBICONV], [1])
+ ],
+ [BSD], [AC_DEFINE([PHP_ICONV_IMPL], ["BSD iconv"])],
+ [IBM], [
AC_DEFINE([HAVE_IBM_ICONV], [1],
[Define to 1 if iconv implementation is IBM.])
AC_DEFINE([PHP_ICONV_IMPL], ["IBM iconv"])
])
- AC_CACHE_CHECK([if iconv supports errno], [php_cv_iconv_errno],
+ AC_CACHE_CHECK([if iconv supports errno], [php_cv_iconv_errno],
[AC_RUN_IFELSE([AC_LANG_SOURCE([
#include
#include
@@ -92,11 +80,11 @@ int main(void) {
[php_cv_iconv_errno=yes],
[php_cv_iconv_errno=no],
[php_cv_iconv_errno=yes])])
- AS_VAR_IF([php_cv_iconv_errno], [yes],,
- [AC_MSG_FAILURE([The iconv check failed, 'errno' is missing.])])
+ AS_VAR_IF([php_cv_iconv_errno], [yes],,
+ [AC_MSG_FAILURE([The iconv check failed, 'errno' is missing.])])
- AC_CACHE_CHECK([if iconv supports //IGNORE], [php_cv_iconv_ignore],
- [AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ AC_CACHE_CHECK([if iconv supports //IGNORE], [php_cv_iconv_ignore],
+ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include
#include
@@ -115,25 +103,24 @@ int main(void) {
}
return 0;
}
- ]])],
- [php_cv_iconv_ignore=yes],
- [php_cv_iconv_ignore=no],
- [php_cv_iconv_ignore=no])])
-
- AS_VAR_IF([php_cv_iconv_ignore], [no],
- [AC_DEFINE([ICONV_BROKEN_IGNORE], [1],
- [Define to 1 if iconv has broken IGNORE.])])
-
- LDFLAGS=$save_LDFLAGS
- CFLAGS=$save_CFLAGS
-
- AC_DEFINE([HAVE_ICONV], [1],
- [Define to 1 if the PHP extension 'iconv' is available.])
-
- PHP_NEW_EXTENSION([iconv],
- [iconv.c],
- [$ext_shared],,
- [-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
- PHP_SUBST([ICONV_SHARED_LIBADD])
- PHP_INSTALL_HEADERS([ext/iconv], [php_iconv.h])
+ ]])],
+ [php_cv_iconv_ignore=yes],
+ [php_cv_iconv_ignore=no],
+ [php_cv_iconv_ignore=no])])
+ AS_VAR_IF([php_cv_iconv_ignore], [no],
+ [AC_DEFINE([ICONV_BROKEN_IGNORE], [1],
+ [Define to 1 if iconv has broken IGNORE.])])
+
+ LDFLAGS=$save_LDFLAGS
+ CFLAGS=$save_CFLAGS
+
+ AC_DEFINE([HAVE_ICONV], [1],
+ [Define to 1 if the PHP extension 'iconv' is available.])
+
+ PHP_NEW_EXTENSION([iconv],
+ [iconv.c],
+ [$ext_shared],,
+ [-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
+ PHP_SUBST([ICONV_SHARED_LIBADD])
+ PHP_INSTALL_HEADERS([ext/iconv], [php_iconv.h])
fi