summaryrefslogtreecommitdiff
path: root/ext/xmlrpc/config.m4
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xmlrpc/config.m4')
-rw-r--r--ext/xmlrpc/config.m4122
1 files changed, 122 insertions, 0 deletions
diff --git a/ext/xmlrpc/config.m4 b/ext/xmlrpc/config.m4
new file mode 100644
index 0000000000..18809032db
--- /dev/null
+++ b/ext/xmlrpc/config.m4
@@ -0,0 +1,122 @@
+
+dnl $Id$
+
+sinclude(ext/xmlrpc/libxmlrpc/acinclude.m4)
+sinclude(ext/xmlrpc/libxmlrpc/xmlrpc.m4)
+sinclude(libxmlrpc/acinclude.m4)
+sinclude(libxmlrpc/xmlrpc.m4)
+
+AC_DEFUN(XMLRPC_LIB_CHK,[
+ str="$XMLRPC_DIR/$1/libxmlrpc.*"
+ for j in `echo $str`; do
+ if test -r $j; then
+ XMLRPC_LIB_DIR=$XMLRPC_DIR/$1
+ break 2
+ fi
+ done
+])
+
+PHP_ARG_WITH(xmlrpc, for XMLRPC-EPI support,
+[ --with-xmlrpc[=DIR] Include XMLRPC-EPI support. DIR is the XMLRPC-EPI base
+ directory. If unspecified, the bundled XMLRPC-EPI library
+ will be used.], yes)
+
+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
+ AC_DEFINE(HAVE_XMLRPC, 1, [Whether you have XMLRPC-EPI])
+ PHP_EXTENSION(xmlrpc,$ext_shared)
+
+dnl check for iconv
+ found_iconv=no
+ AC_CHECK_LIB(c, iconv_open, found_iconv=yes)
+ if test "$found_iconv" = "no"; then
+ for i in /usr /usr/local $ICONV_DIR; do
+ if test -f $i/lib/libconv.a -o -f $i/lib/libiconv.s?; then
+ PHP_ADD_LIBRARY_WITH_PATH(iconv, $i/lib, XMLRPC_SHARED_LIBADD)
+ found_iconv=yes
+ fi
+ done
+ fi
+
+ if test "$found_iconv" = "no"; then
+ AC_MSG_ERROR(iconv not found, in order to build XMLRPC-EPI you need the iconv library)
+ fi
+
+dnl check for expat
+ testval=no
+ for i in $PHP_EXPAT_DIR; do
+ if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.s?; then
+ AC_DEFINE(HAVE_LIBEXPAT2,1,[ ])
+ PHP_ADD_LIBRARY_WITH_PATH(expat, $i/lib, XMLRPC_SHARED_LIBADD)
+ PHP_ADD_INCLUDE($i/include)
+ testval=yes
+ fi
+ done
+
+ if test "$testval" = "no"; then
+ PHP_ADD_LIBRARY(xmlparse)
+ PHP_ADD_LIBRARY(xmltok)
+ fi
+
+fi
+
+if test "$PHP_XMLRPC" = "yes"; then
+ XMLRPC_CHECKS
+ XMLRPC_LIBADD=libxmlrpc/libxmlrpc.la
+ XMLRPC_SHARED_LIBADD=libxmlrpc/libxmlrpc.la
+ XMLRPC_SUBDIRS=libxmlrpc
+ PHP_SUBST(XMLRPC_LIBADD)
+ PHP_SUBST(XMLRPC_SUBDIRS)
+ LIB_BUILD($ext_builddir/libxmlrpc,$ext_shared,yes)
+ PHP_ADD_INCLUDE($ext_srcdir/libxmlrpc)
+ XMLRPC_MODULE_TYPE=builtin
+elif test "$PHP_XMLRPC" != "no"; then
+ for i in $PHP_XMLRPC; do
+ if test -r $i/include/xmlrpc/xmlrpc.h; then
+ XMLRPC_DIR=$i
+ XMLRPC_INC_DIR=$i/include/xmlrpc
+ elif test -r $i/include/xmlrpc.h; then
+ XMLRPC_DIR=$i
+ XMLRPC_INC_DIR=$i/include
+ fi
+ done
+
+ if test -z "$XMLRPC_DIR"; then
+ AC_MSG_ERROR(Cannot find header files under $PHP_XMLRPC)
+ fi
+
+ XMLRPC_MODULE_TYPE=external
+
+ for i in lib lib/xmlrpc; do
+ XMLRPC_LIB_CHK($i)
+ done
+
+ if test -z "$XMLRPC_LIB_DIR"; then
+ AC_MSG_ERROR(Cannot find xmlrpc library under $XMLRPC_DIR)
+ fi
+
+ if test "$PHP_ZLIB_DIR" != "no"; then
+ PHP_ADD_LIBRARY(z,, XMLRPC_SHARED_LIBADD)
+ XMLRPC_LIBS="-L$PHP_ZLIB_DIR -z"
+ fi
+
+ PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_LIB_DIR, XMLRPC_SHARED_LIBADD)
+ XMLRPC_LIBS="-L$XMLRPC_LIB_DIR -lxmlrpc $XMLRPC_LIBS"
+
+ PHP_ADD_INCLUDE($XMLRPC_INC_DIR)
+ XMLRPC_INCLUDE="-I$XMLRPC_INC_DIR"
+
+else
+ XMLRPC_MODULE_TYPE=none
+fi
+
+
+PHP_SUBST(XMLRPC_SHARED_LIBADD)
+PHP_SUBST_OLD(XMLRPC_MODULE_TYPE)
+PHP_SUBST_OLD(XMLRPC_LIBS)
+PHP_SUBST_OLD(XMLRPC_INCLUDE)
+
+