Merge from trunk
[plcapi.git] / trunk / php / xmlrpc / config.m4
diff --git a/trunk/php/xmlrpc/config.m4 b/trunk/php/xmlrpc/config.m4
new file mode 100644 (file)
index 0000000..54335df
--- /dev/null
@@ -0,0 +1,93 @@
+dnl
+dnl $Id$
+dnl
+
+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[=DIR]     Include XMLRPC-EPI support.])
+
+PHP_ARG_WITH(expat-dir, libexpat dir for XMLRPC-EPI,
+[  --with-expat-dir=DIR      XMLRPC-EPI: libexpat dir for XMLRPC-EPI.],no,no)
+
+PHP_ARG_WITH(iconv-dir, iconv dir for XMLRPC-EPI,
+[  --with-iconv-dir=DIR      XMLRPC-EPI: iconv dir for XMLRPC-EPI.],no,no)
+
+if test "$PHP_XMLRPC" != "no"; then
+
+  PHP_SUBST(XMLRPC_SHARED_LIBADD)
+  AC_DEFINE(HAVE_XMLRPC,1,[ ])
+
+  testval=no
+  for i in $PHP_EXPAT_DIR $XMLRPC_DIR /usr/local /usr; do
+    if test -f $i/$PHP_LIBDIR/libexpat.a -o -f $i/$PHP_LIBDIR/libexpat.$SHLIB_SUFFIX_NAME; then
+      AC_DEFINE(HAVE_LIBEXPAT2,1,[ ])
+      PHP_ADD_LIBRARY_WITH_PATH(expat, $i/$PHP_LIBDIR, XMLRPC_SHARED_LIBADD)
+      PHP_ADD_INCLUDE($i/include)
+      testval=yes
+      break
+    fi
+  done
+
+  if test "$testval" = "no"; then
+    AC_MSG_ERROR(XML-RPC support requires libexpat. Use --with-expat-dir=<DIR>)
+  fi
+
+  if test "$PHP_ICONV_DIR" != "no"; then
+    PHP_ICONV=$PHP_ICONV_DIR
+  fi
+  
+  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])
+  ])
+fi
+
+
+if test "$PHP_XMLRPC" = "yes"; then
+  XMLRPC_CHECKS
+  PHP_NEW_EXTENSION(xmlrpc,xmlrpc-epi-php.c libxmlrpc/base64.c \
+          libxmlrpc/simplestring.c libxmlrpc/xml_to_dandarpc.c \
+          libxmlrpc/xmlrpc_introspection.c libxmlrpc/encodings.c \
+          libxmlrpc/system_methods.c libxmlrpc/xml_to_xmlrpc.c \
+          libxmlrpc/queue.c libxmlrpc/xml_element.c libxmlrpc/xmlrpc.c \
+          libxmlrpc/xml_to_soap.c,$ext_shared,,
+          -I@ext_srcdir@/libxmlrpc -DVERSION="0.50")
+  PHP_ADD_BUILD_DIR($ext_builddir/libxmlrpc)
+  XMLRPC_MODULE_TYPE=builtin
+
+elif test "$PHP_XMLRPC" != "no"; then
+
+  if test -r $PHP_XMLRPC/include/xmlrpc.h; then
+    XMLRPC_DIR=$PHP_XMLRPC/include
+  elif test -r $PHP_XMLRPC/include/xmlrpc-epi/xmlrpc.h; then
+dnl some xmlrpc-epi header files have generic file names like
+dnl queue.h or base64.h. Distributions have to create dir
+dnl for xmlrpc-epi because of this.
+    XMLRPC_DIR=$PHP_XMLRPC/include/xmlrpc-epi
+  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/include
+        AC_MSG_RESULT(found in $i)
+        break
+      fi
+    done
+  fi
+
+  if test -z "$XMLRPC_DIR"; then
+    AC_MSG_RESULT(not found)
+    AC_MSG_ERROR(Please reinstall the XMLRPC-EPI distribution)
+  fi
+
+  PHP_ADD_INCLUDE($XMLRPC_DIR)
+  PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_DIR/$PHP_LIBDIR, XMLRPC_SHARED_LIBADD)
+fi
+