Skip to content

Commit

Permalink
Remove some duplicate iconv path logic
Browse files Browse the repository at this point in the history
PHP_SETUP_ICONV already adds the include path to INCLUDES and the
library path to SHARED_LIBADD.
  • Loading branch information
nikic committed Aug 7, 2020
1 parent 7bd1d70 commit 8bc505c
Showing 1 changed file with 7 additions and 34 deletions.
41 changes: 7 additions & 34 deletions ext/iconv/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,10 @@ if test "$PHP_ICONV" != "no"; then
])

if test "$iconv_avail" != "no"; then
if test -z "$ICONV_DIR"; then
for i in /usr/local /usr; do
if test -f "$i/include/iconv.h"; then
PHP_ICONV_PREFIX="$i"
break
fi
done
if test -z "$PHP_ICONV_PREFIX"; then
PHP_ICONV_PREFIX="/usr"
fi
else
PHP_ICONV_PREFIX="$ICONV_DIR"
fi

CFLAGS="-I$PHP_ICONV_PREFIX/include $CFLAGS"
LDFLAGS="-L$PHP_ICONV_PREFIX/$PHP_LIBDIR $LDFLAGS"
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/libc-version.h>]], [[gnu_get_libc_version();]])],[
Expand All @@ -40,8 +28,6 @@ if test "$PHP_ICONV" != "no"; then

if test -z "$iconv_impl_name"; then
AC_MSG_CHECKING([if using GNU libiconv])
php_iconv_old_ld="$LDFLAGS"
LDFLAGS="-liconv $LDFLAGS"
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <iconv.h>
int main() {
Expand All @@ -53,10 +39,8 @@ int main() {
iconv_impl_name="gnu_libiconv"
],[
AC_MSG_RESULT(no)
LDFLAGS="$php_iconv_old_ld"
],[
AC_MSG_RESULT([no, cross-compiling])
LDFLAGS="$php_iconv_old_ld"
])
fi

Expand All @@ -72,22 +56,18 @@ int main() {

if test -z "$iconv_impl_name"; then
AC_MSG_CHECKING([if using IBM iconv])
php_iconv_old_ld="$LDFLAGS"
LDFLAGS="-liconv $LDFLAGS"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]], [[cstoccsid("");]])],[
AC_MSG_RESULT(yes)
iconv_impl_name="ibm"
],[
AC_MSG_RESULT(no)
LDFLAGS="$php_iconv_old_ld"
])
fi

case "$iconv_impl_name" in
gnu_libiconv [)]
AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use])
AC_DEFINE([HAVE_LIBICONV],1,[Whether libiconv is used])
PHP_ADD_LIBRARY_WITH_PATH(iconv, "$PHP_ICONV_PREFIX/$PHP_LIBDIR", ICONV_SHARED_LIBADD)
;;

bsd [)]
Expand Down Expand Up @@ -163,17 +143,10 @@ int main() {
AC_DEFINE([ICONV_BROKEN_IGNORE],0,[Whether iconv supports IGNORE])
])

AC_MSG_CHECKING([if your cpp allows macro usage in include lines])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#define FOO <iconv.h>
#include FOO
]], [])], [
AC_MSG_RESULT([yes])
], [
AC_MSG_RESULT([no])
])
LDFLAGS="$save_LDFLAGS"
CFLAGS="$save_CFLAGS"

PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared,, [-I\"$PHP_ICONV_PREFIX/include\" -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared,, [-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
PHP_SUBST(ICONV_SHARED_LIBADD)
PHP_INSTALL_HEADERS([ext/iconv/])
else
Expand Down

0 comments on commit 8bc505c

Please sign in to comment.