typo: oid of bool is 16, not 18
[m6w6/ext-pq] / config.m4
index 18ee2504837b5d288850de491b73f68c1ed62fa2..cfb995bfc3e1528267d9e1a24e551798657fbad8 100644 (file)
--- a/config.m4
+++ b/config.m4
@@ -1,5 +1,7 @@
-PHP_ARG_WITH(pq, for pq support,
-[  --with-pq             Include pq support])
+PHP_ARG_WITH(pq, [whether to enable libpq (PostgreSQL) support],
+[  --with-pq                      Include libpq support])
+PHP_ARG_WITH(pq-postgresql, [where to find PostgreSQL server headers],
+[  --with-pq-postgresql        Define some standard type IODs from catalog/pg_type.h], [$PHP_PQ])
 
 if test "$PHP_PQ" != "no"; then
        SEARCH_PATH="/usr/local /usr /opt"
@@ -17,7 +19,7 @@ if test "$PHP_PQ" != "no"; then
        done
 
        if test -z "$PQ_DIR"; then
-               AC_MSG_FAILURE(could not find include/libpq-events.h)
+               AC_MSG_ERROR(could not find include/libpq-events.h)
        fi
        PHP_ADD_INCLUDE($PQ_DIR/include)
 
@@ -30,11 +32,45 @@ if test "$PHP_PQ" != "no"; then
        ],[
                -L$PQ_DIR/$PHP_LIBDIR
        ])
-       PHP_CHECK_LIBRARY(pq, PQlibVersion, AC_DEFINE(HAVE_PQLIBVERSION, 1, Have PQlibVersion))
-
-       PQ_SRC="src/php_pq.c"
+       PHP_CHECK_LIBRARY(pq, PQlibVersion, [AC_DEFINE(HAVE_PQLIBVERSION, 1, Have PQlibVersion)])
+       
+       PQ_SRC="\
+               src/php_pq_module.c\
+               src/php_pq_misc.c\
+               src/php_pq_callback.c\
+               src/php_pq_object.c\
+               src/php_pqcancel.c\
+               src/php_pqconn.c\
+               src/php_pqconn_event.c\
+               src/php_pqcopy.c\
+               src/php_pqexc.c\
+               src/php_pqlob.c\
+               src/php_pqres.c\
+               src/php_pqstm.c\
+               src/php_pqtxn.c\
+               src/php_pqtypes.c\
+       "
        PHP_NEW_EXTENSION(pq, $PQ_SRC, $ext_shared)
-    PHP_ADD_BUILD_DIR($ext_builddir/src, 1)
-    PHP_ADD_EXTENSION_DEP(pq, raphf)
+       PHP_ADD_BUILD_DIR($ext_builddir/src)
+       PHP_ADD_INCLUDE($ext_srcdir/src)
+       PHP_ADD_EXTENSION_DEP(pq, raphf)
+       
+       if test "$PHP_PQ_POSTGRESQL" != "no"; then
+               if test "$PHP_PQ_POSTGRESQL" != "yes"; then
+                       SEARCH_PATH="$PHP_PQ_POSTGRESQL $SEARCH_PATH"
+               fi
+               for i in $SEARCH_PATH; do
+                       CATALOG="$i/include/postgresql/server/catalog/pg_type.h"
+                       AC_MSG_CHECKING(for $CATALOG)
+                       if test -f "$CATALOG"; then
+                               AC_MSG_RESULT(yep)
+                               AC_PROG_AWK()
+                               $AWK -f $ext_srcdir/php_pq_type.awk < "$CATALOG" > $ext_srcdir/php_pq_type.h
+                               AC_DEFINE(HAVE_PHP_PQ_TYPE_H, 1, Have PostgreSQL type OID defs)
+                               break
+                       fi
+                       AC_MSG_RESULT(nope)
+               done
+       fi
 fi