X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=config9.m4;h=8064df9d3346562c99ff573a737de484978d5065;hp=b63f2ad6f40dc45864d1a6b8d689537c959da683;hb=9dfcccaad554c8e3ddeb9d2635e2faf09425282e;hpb=0e66a82238ad0aacbf646d0016193a064a4b7ecb diff --git a/config9.m4 b/config9.m4 index b63f2ad..8064df9 100644 --- a/config9.m4 +++ b/config9.m4 @@ -2,32 +2,49 @@ PHP_ARG_WITH(pq, [whether to enable libpq (PostgreSQL) support], [ --with-pq[=DIR] Include libpq support]) if test "$PHP_PQ" != "no"; then - SEARCH_PATH="/usr/local /usr /usr/include/postgresql /opt" + + SEARCH_PATH="/usr/local /usr /opt" if test "$PHP_PQ" != "yes"; then SEARCH_PATH="$PHP_PQ $SEARCH_PATH" fi + + AC_MSG_CHECKING(for pg_config) for i in $SEARCH_PATH; do - AC_MSG_CHECKING(for $i/libpq-events.h) - if test -f "$i/libpq-events.h"; then - PQ_DIR=$i - 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_DIR=$i/include - AC_MSG_RESULT(yep) + if test -x "$i/bin/pg_config"; then + PG_CONFIG="$i/bin/pg_config" break fi - AC_MSG_RESULT(nope) done + + if test -z "$PG_CONFIG"; then + AC_PATH_PROG(PG_CONFIG, pg_config, no) + fi + + 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_CHECKING(for PostgreSQL version) + PQ_VERSION=$($PG_CONFIG --version | $SED 's/PostgreSQL //') - if test -z "$PQ_DIR"; then - AC_MSG_ERROR(could not find include/libpq-events.h) + 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 + + PQ_INCDIR=$($PG_CONFIG --includedir) + PQ_LIBDIR=$($PG_CONFIG --libdir) fi - PHP_ADD_INCLUDE($PQ_DIR) + + PHP_ADD_INCLUDE($PQ_INCDIR) ifdef([AC_PROG_EGREP], [ AC_PROG_EGREP @@ -40,7 +57,7 @@ if test "$PHP_PQ" != "no"; then dnl AC_DEFUN([PQ_CHECK_CONST], [ AC_MSG_CHECKING(for $1) - if $EGREP -q $1 $PQ_DIR/libpq-fe.h; then + if $EGREP -q $1 $PQ_INCDIR/libpq-fe.h; then AC_DEFINE(HAVE_$1, 1, [Have $1]) AC_MSG_RESULT(yep) else @@ -67,12 +84,12 @@ if test "$PHP_PQ" != "no"; then fi fi ], [ - -L$PQ_DIR/$PHP_LIBDIR + -L$PQ_LIBDIR ]) ]) PQ_CHECK_FUNC(PQregisterEventProc, true) - PHP_ADD_LIBRARY_WITH_PATH(pq, $PQ_DIR/$PHP_LIBDIR, PQ_SHARED_LIBADD) + PHP_ADD_LIBRARY_WITH_PATH(pq, $PQ_LIBDIR, PQ_SHARED_LIBADD) PHP_SUBST(PQ_SHARED_LIBADD) PQ_CHECK_FUNC(PQlibVersion)