#19124 [NEW]: config.m4 problems with ext/xmlrpc

From: Date: Tue, 27 Aug 2002 15:26:41 +0000
Subject: #19124 [NEW]: config.m4 problems with ext/xmlrpc
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-17940@lists.php.net to get a copy of this message
From: list@firehawksystems.com Operating system: FreeBSD 4.3, but any Unix PHP version: 4.2.2 PHP Bug Type: *Configuration Issues Bug description: config.m4 problems with ext/xmlrpc I tried to build xmlrpc as a shared extension (phpize, ./configure, make), but when it builds it didn't have dependences for libexpat and libiconv, but the expat, libiconv and XMLRPC_ functions are undefined. While trying to fix this I rewrote the config.m4 to handle all the following build cases: 1) built-in to PHP with libxmlrpc included from extension directory --with-xmlrpc 2) built-in to PHP with shared libxmlrpc --with-xmlrpc --with-libxmlrpc=/usr/local 3) built shared with libxmlrpc included from extension directory --with-xmlrpc=shared 4) built shared with shared libxmlrpc --with-xmlrpc=shared --with-libxmlrpc=/usr/local There is one part I don't like and that is the new option of --with-libxmlrpc is only used in a state where it is not equal to 'yes' or 'no'. It would have a directory value, but I don't like how it I did it. Is this the best way to handle it? Comments? For the new config.m4 to work, xmlrpc-epi-php.c needs this changed: #ifndef PHP_WIN32 #include "php_config.h" #endif to: #ifdef HAVE_CONFIG_H #include "config.h" #endif Also what does PHP_FAST_OUTPUT do? Thanks, Brian ------ sinclude(ext/xmlrpc/libxmlrpc/acinclude.m4) sinclude(ext/xmlrpc/libxmlrpc/xmlrpc.m4) sinclude(libxmlrpc/acinclude.m4) sinclude(libxmlrpc/xmlrpc.m4) PHP_ARG_WITH(xmlrpc, for XMLRPC-EPI support, [ --with-xmlrpc Include XMLRPC-EPI support.]) PHP_ARG_WITH(libxmlrpc, Use shared libxmlrpc for XMLRPC-EPI, [ --with-libxmlrpc[=DIR] Will build and include the local copy of XMLRPC-EPI, unless the DIR is set. ]) PHP_ARG_WITH(expat-dir, libexpat dir for XMLRPC-EPI, [ --with-expat-dir=DIR XMLRPC-EPI: libexpat dir for XMLRPC-EPI.]) if test "$PHP_XMLRPC" != "no"; then PHP_EXTENSION(xmlrpc, $ext_shared) PHP_SUBST(XMLRPC_SHARED_LIBADD) if test "$PHP_LIBXMLRPC" = "no" || test "$PHP_LIBXMLRPC" = "yes"; then XMLRPC_CHECKS XMLRPC_SHARED_LIBADD=libxmlrpc/libxmlrpc.la XMLRPC_LIBADD=libxmlrpc/libxmlrpc.la XMLRPC_SUBDIRS=libxmlrpc PHP_SUBST(XMLRPC_LIBADD) PHP_SUBST(XMLRPC_SUBDIRS) AC_DEFINE(HAVE_BUNDLED_XMLRPC, 1, [ ]) dnl PHP_FAST_OUTPUT($ext_builddir/libxmlrpc/Makefile) LIB_BUILD($ext_builddir/libxmlrpc,$ext_shared,yes) PHP_ADD_INCLUDE($ext_srcdir/libxmlrpc) else if test -r $PHP_XMLRPC/include/xmlrpc.h; then XMLRPC_DIR=$PHP_XMLRPC else AC_MSG_CHECKING([for XMLRPC-EPI in default path]) for i in /usr/local /usr; do if test -r $i/include/xmlrpc.h; then XMLRPC_DIR=$i AC_MSG_RESULT(found in $i) fi done fi if test -z "$XMLRPC_DIR"; then AC_MSG_ERROR([XMLRPC-EPI not found, please reinstall the XMLRPC-EPI distribution]) fi PHP_ADD_INCLUDE($XMLRPC_DIR/include) PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_DIR/lib, XMLRPC_SHARED_LIBADD) fi PHP_SUBST(EXPAT_SHARED_LIBADD) AC_DEFINE(HAVE_LIBEXPAT, 1, [ ]) for i in $PHP_XML $PHP_EXPAT_DIR; do if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME ; then EXPAT_DIR=$i fi done if test -z "$EXPAT_DIR"; then AC_MSG_ERROR(not found. Please reinstall the expat distribution.) fi PHP_ADD_INCLUDE($EXPAT_DIR/include) PHP_ADD_LIBRARY_WITH_PATH(expat, $EXPAT_DIR/lib, XMLRPC_SHARED_LIBADD) if test "$PHP_ICONV" = "no"; then PHP_ICONV=yes fi PHP_SETUP_ICONV(XMLRPC_SHARED_LIBADD, [], [ AC_MSG_ERROR([iconv not found, in order to build xmlrpc you need the iconv library]) ]) AC_DEFINE(HAVE_XMLRPC, 1, [ ]) fi -- Edit bug report at http://bugs.php.net/?id=19124&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=19124&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=19124&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=19124&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=19124&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=19124&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=19124&r=support Expected behavior: http://bugs.php.net/fix.php?id=19124&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=19124&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=19124&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=19124&r=globals

« previous php.bugs (#17940) next »