X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=config.m4;h=21d3b88cb913b4e9c633c7c0f91aeb9cd4951b60;hp=8014c65fbf5a189fb63db65ca912189d03fe546d;hb=a1dd22ffd46416cf229ae78963885f22e8e01a51;hpb=9f5cecf26bd70a92ed013f31afec59e272623ac1 diff --git a/config.m4 b/config.m4 index 8014c65..21d3b88 100644 --- a/config.m4 +++ b/config.m4 @@ -1,5 +1,7 @@ PHP_ARG_WITH(pq, [whether to enable libpq (PostgreSQL) support], -[ --with-pq Include libpq support]) +[ --with-pq[=DIR] Include libpq support]) +PHP_ARG_WITH(pq-postgresql, [where to find PostgreSQL server headers], +[ --with-pq-postgresql[=DIR] PQ: Define some standard type OIDs from catalog/pg_type.h], $PHP_PQ) if test "$PHP_PQ" != "no"; then SEARCH_PATH="/usr/local /usr /opt" @@ -31,12 +33,13 @@ 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_module.c\ src/php_pq_misc.c\ src/php_pq_callback.c\ src/php_pq_object.c\ + src/php_pq_params.c\ src/php_pqcancel.c\ src/php_pqconn.c\ src/php_pqconn_event.c\ @@ -47,10 +50,33 @@ if test "$PHP_PQ" != "no"; then src/php_pqstm.c\ src/php_pqtxn.c\ src/php_pqtypes.c\ + src/php_pqcur.c\ " PHP_NEW_EXTENSION(pq, $PQ_SRC, $ext_shared) PHP_ADD_BUILD_DIR($ext_builddir/src) PHP_ADD_INCLUDE($ext_srcdir/src) - PHP_ADD_EXTENSION_DEP(pq, raphf) + 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 + CATALOG_PATH="" + for i in $SEARCH_PATH; do + CATALOG_PATH="$i/include/server/catalog/pg_type.h $CATALOG_PATH" + CATALOG_PATH="$i/include/postgresql/server/catalog/pg_type.h $CATALOG_PATH" + done + for CATALOG in $CATALOG_PATH; do + 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