[ --with-pq[=DIR] Include libpq support])
if test "$PHP_PQ" != "no"; then
+
SEARCH_PATH="/usr/local /usr /opt"
if test "$PHP_PQ" != "yes"; then
SEARCH_PATH="$PHP_PQ $SEARCH_PATH"
fi
- for i in $SEARCH_PATH; do
- dnl for Debian
- AC_MSG_CHECKING(for $i/include/postgresql/libpq-events.h)
- if test -f "$i/include/postgresql/libpq-events.h"; then
- PQ_INCDIR=$i/include/postgresql
- AC_MSG_RESULT(yep)
- break
- fi
- AC_MSG_RESULT(nope)
- AC_MSG_CHECKING(for $i/include/libpq-events.h)
- if test -f "$i/include/libpq-events.h"; then
- PQ_INCDIR=$i/include
- AC_MSG_RESULT(yep)
+ AC_MSG_CHECKING(for pg_config)
+ for i in $SEARCH_PATH; do
+ if test -x "$i/bin/pg_config"; then
+ PG_CONFIG="$i/bin/pg_config"
break
fi
- AC_MSG_RESULT(nope)
done
- if test -z "$PQ_INCDIR"; then
- AC_MSG_ERROR(could not find include/libpq-events.h)
+ if test -z "$PG_CONFIG"; then
+ AC_PATH_PROG(PG_CONFIG, pg_config, no)
fi
- for i in $SEARCH_PATH; do
- AC_MSG_CHECKING(for $i/$PHP_LIBDIR/libpq.$SHLIB_SUFFIX_NAME)
- if test -f "$i/$PHP_LIBDIR/libpq.$SHLIB_SUFFIX_NAME"; then
- PQ_LIBDIR=$i/$PHP_LIBDIR
- AC_MSG_RESULT(yep)
- break
+ AC_MSG_RESULT($PG_CONFIG)
+
+ if test "$PG_CONFIG" = "no"; then
+ AC_MSG_ERROR(could not find a usable pg_config in $SEARCH_PATH)
+ else
+ if test "$PHP_PQ" != "yes" -a "$PHP_PQ/bin/pg_config" != "$PG_CONFIG"; then
+ AC_MSG_WARN(Found pg_config is not in $PHP_PQ)
fi
- AC_MSG_RESULT(nope)
- dnl for Debian
- AC_MSG_CHECKING(for $i/$PHP_LIBDIR/x86_64-linux-gnu/libpq.$SHLIB_SUFFIX_NAME)
- if test -f "$i/$PHP_LIBDIR/x86_64-linux-gnu/libpq.$SHLIB_SUFFIX_NAME"; then
- PQ_LIBDIR=$i/$PHP_LIBDIR/x86_64-linux-gnu
- AC_MSG_RESULT(yep)
- break
+ AC_MSG_CHECKING(for PostgreSQL version)
+ PQ_VERSION=$($PG_CONFIG --version | $SED 's/PostgreSQL //')
+
+ if test -z "$PQ_VERSION"; then
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR(\`$PG_CONFIG --version\` did not provide any meaningful output, please reinstall postgresql/libpq)
+ else
+ AC_MSG_RESULT($PQ_VERSION)
+ AC_DEFINE_UNQUOTED(PHP_PQ_LIBVERSION, "$PQ_VERSION", [ ])
fi
- AC_MSG_RESULT(nope)
- done
- if test -z "$PQ_LIBDIR"; then
- AC_MSG_ERROR(could not find libpq.$SHLIB_SUFFIX_NAME)
+ PQ_INCDIR=$($PG_CONFIG --includedir)
+ PQ_LIBDIR=$($PG_CONFIG --libdir)
fi
PHP_ADD_INCLUDE($PQ_INCDIR)
PQ_CHECK_CONST(PGRES_SINGLE_TUPLE)
PQ_CHECK_CONST(PGRES_COPY_BOTH)
+ PQ_CHECK_CONST(CONNECTION_CHECK_WRITABLE)
+ PQ_CHECK_CONST(CONNECTION_CONSUME)
+ PQ_CHECK_CONST(CONNECTION_GSS_STARTUP)
dnl
dnl PQ_CHECK_FUNC(sym, fail-hard)
dnl
AC_DEFUN([PQ_CHECK_FUNC], [
+ PQ_SYM=$1
FAIL_HARD=$2
-
+ save_LIBS="$LIBS"
+ LIBS=
PHP_CHECK_LIBRARY(pq, $1, [
AC_DEFINE([HAVE_]translit($1,a-z,A-Z), 1, Have $1)
], [
if test -n "$FAIL_HARD"; then
- if "$FAIL_HARD"; then
- AC_MSG_ERROR(could not find $PQ_SYM in -lpq)
+ if $FAIL_HARD; then
+ AC_MSG_ERROR(could not find $PQ_SYM in -lpq -L$PQ_LIBDIR)
fi
fi
], [
-L$PQ_LIBDIR
])
+ LIBS="$save_LIBS"
])
PQ_CHECK_FUNC(PQregisterEventProc, true)
AC_MSG_ERROR([Please install pecl/raphf and activate extension=raphf.$SHLIB_DL_SUFFIX_NAME in your php.ini])
])
PHP_ADD_EXTENSION_DEP(pq, raphf, true)
- PQ_HAVE_PHP_EXT([json], [
- AC_MSG_CHECKING([for php_json.h])
- PQ_EXT_JSON_INCDIR=
- for i in `echo $INCLUDES | $SED -e's/-I//g'` $abs_srcdir ../json ../jsonc ../jsond; do
- if test -d $i; then
- if test -f $i/php_json.h; then
- PQ_EXT_JSON_INCDIR=$i
- break
- elif test -f $i/ext/json/php_json.h; then
- PQ_EXT_JSON_INCDIR=$i/ext/json
- break
- fi
- fi
- done
- if test "x$PQ_EXT_JSON_INCDIR" = "x"; then
- AC_MSG_ERROR([not found])
- else
- AC_MSG_RESULT([$PQ_EXT_JSON_INCDIR])
- AC_DEFINE([PHP_PQ_HAVE_PHP_JSON_H], [1], [Have ext/json support])
- PHP_ADD_INCLUDE([$PQ_EXT_JSON_INCDIR])
- fi
- ])
fi