From 474f6007e204f3d11c4f6042ff89b5a870785fae Mon Sep 17 00:00:00 2001 From: Stig Bakken Date: Tue, 19 Mar 2002 01:08:18 +0000 Subject: [PATCH] MFH: Jani's fix to my iconv fix --- acinclude.m4 | 50 ++++++++++++++++++++++++++++++++++++++++ ext/iconv/config.m4 | 35 +++++----------------------- ext/rpc/xmlrpc/config.m4 | 24 ++----------------- ext/xmlrpc/config.m4 | 24 ++----------------- ext/xslt/config.m4 | 23 ++---------------- 5 files changed, 62 insertions(+), 94 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index c867dbf6cc..7c3ce3a19c 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1191,4 +1191,54 @@ AC_DEFUN(PHP_CHECK_LIBRARY, [ ]) +dnl +dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for iconv +dnl +AC_DEFUN(PHP_SETUP_ICONV, [ + found_iconv=no + + AC_CHECK_LIB(c, iconv_open, [ + AC_DEFINE(HAVE_ICONV, 1, [ ]) + found_iconv=yes + ], [ + + iconv_lib_name=iconv + for i in $PHP_ICONV /usr/local /usr; do + if test -r $i/include/giconv.h || test -r $i/include/iconv.h; then + ICONV_DIR=$i + if test -r $i/include/giconv.h; then + iconv_lib_name=giconv + fi + break + fi + done + + if test -z "$ICONV_DIR"; then + AC_MSG_ERROR(Please specify the location of iconv with --with-iconv) + fi + + if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a || + test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME + then + PHP_CHECK_LIBRARY($iconv_lib_name, libiconv_open, [ + found_iconv=yes + PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, $1) + AC_DEFINE(HAVE_ICONV, 1, [ ]) + AC_DEFINE(HAVE_LIBICONV, 1, [ ]) + ], [ + found_iconv=no + ], [ + -L$ICONV_DIR/lib + ]) + fi + ]) + if test "$found_iconv" = "no"; then + $3 + else + $2 + PHP_ADD_INCLUDE($ICONV_DIR/include) + fi +]) diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 index b636ffbdab..ec0d532b9e 100644 --- a/ext/iconv/config.m4 +++ b/ext/iconv/config.m4 @@ -7,34 +7,11 @@ PHP_ARG_WITH(iconv, for iconv support, if test "$PHP_ICONV" != "no"; then - iconv_lib_name=iconv - for i in $PHP_ICONV /usr/local /usr; do - if test -r $i/include/giconv.h || test -r $i/include/iconv.h; then - ICONV_DIR=$i - if test -r $i/include/giconv.h; then - iconv_lib_name=giconv - fi - break - fi - done - - if test -z "$ICONV_DIR"; then + PHP_SETUP_ICONV(ICONV_SHARED_LIBADD, [ + PHP_EXTENSION(iconv, $ext_shared) + PHP_SUBST(ICONV_SHARED_LIBADD) + ], [ AC_MSG_ERROR(Please reinstall the iconv library.) - fi - - if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a || - test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME - then - PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, ICONV_SHARED_LIBADD) - AC_CHECK_LIB($iconv_lib_name, libiconv_open, [ - AC_DEFINE(HAVE_ICONV, 1, [ ]) - AC_DEFINE(HAVE_LIBICONV, 1, [ ]) - ]) - else - AC_CHECK_LIB(c, iconv_open, AC_DEFINE(HAVE_ICONV, 1, [ ])) - fi - - PHP_ADD_INCLUDE($ICONV_DIR/include) - PHP_EXTENSION(iconv, $ext_shared) - PHP_SUBST(ICONV_SHARED_LIBADD) + ]) + fi diff --git a/ext/rpc/xmlrpc/config.m4 b/ext/rpc/xmlrpc/config.m4 index 5be8c765a2..6ade302cb3 100644 --- a/ext/rpc/xmlrpc/config.m4 +++ b/ext/rpc/xmlrpc/config.m4 @@ -33,29 +33,9 @@ if test "$PHP_XMLRPC" != "no"; then AC_MSG_ERROR(XML-RPC support requires libexpat. Use --with-expat-dir=) fi - found_iconv=no - - if test -z "$ICONV_DIR"; then - AC_MSG_ERROR(Please specify the location of iconv with --with-iconv) - fi - - if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a || - test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME - then - PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, XMLRPC_SHARED_LIBADD) - AC_CHECK_LIB($iconv_lib_name, libiconv_open, [ - found_iconv=yes - ]) - else - AC_CHECK_LIB(c, iconv_open, [ - found_iconv=yes - ]) - fi - - if test "$found_iconv" = "no"; then + PHP_SETUP_ICONV(XMLRPC_SHARED_LIBADD, [], [ AC_MSG_ERROR([iconv not found, in order to build xmlrpc you need the iconv library]) - fi - + ]) fi diff --git a/ext/xmlrpc/config.m4 b/ext/xmlrpc/config.m4 index 5be8c765a2..6ade302cb3 100644 --- a/ext/xmlrpc/config.m4 +++ b/ext/xmlrpc/config.m4 @@ -33,29 +33,9 @@ if test "$PHP_XMLRPC" != "no"; then AC_MSG_ERROR(XML-RPC support requires libexpat. Use --with-expat-dir=) fi - found_iconv=no - - if test -z "$ICONV_DIR"; then - AC_MSG_ERROR(Please specify the location of iconv with --with-iconv) - fi - - if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a || - test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME - then - PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, XMLRPC_SHARED_LIBADD) - AC_CHECK_LIB($iconv_lib_name, libiconv_open, [ - found_iconv=yes - ]) - else - AC_CHECK_LIB(c, iconv_open, [ - found_iconv=yes - ]) - fi - - if test "$found_iconv" = "no"; then + PHP_SETUP_ICONV(XMLRPC_SHARED_LIBADD, [], [ AC_MSG_ERROR([iconv not found, in order to build xmlrpc you need the iconv library]) - fi - + ]) fi diff --git a/ext/xslt/config.m4 b/ext/xslt/config.m4 index fe3447a781..92e574a919 100644 --- a/ext/xslt/config.m4 +++ b/ext/xslt/config.m4 @@ -69,28 +69,9 @@ if test "$PHP_XSLT" != "no"; then PHP_ADD_LIBRARY(xmltok) fi - found_iconv=no - - if test -z "$ICONV_DIR"; then - AC_MSG_ERROR(Please specify the location of iconv with --with-iconv) - fi - - if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a || - test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME - then - PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, XSLT_SHARED_LIBADD) - AC_CHECK_LIB($iconv_lib_name, libiconv_open, [ - found_iconv=yes - ]) - else - AC_CHECK_LIB(c, iconv_open, [ - found_iconv=yes - ]) - fi - - if test "$found_iconv" = "no"; then + PHP_SETUP_ICONV(XSLT_SHARED_LIBADD, [], [ AC_MSG_ERROR([iconv not found, in order to build sablotron you need the iconv library]) - fi + ]) if test "$PHP_SABLOT_JS" != "no"; then found_js=no -- 2.50.1