From: Michael Wallner Date: Mon, 27 Jul 2015 08:06:28 +0000 (+0200) Subject: re-simplify X-Git-Tag: v0.6.0RC2~8 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=6840072b9e4fe5269d0f36a9cb8cd9cde04525af;p=m6w6%2Fext-pq re-simplify @remicollet could you re-check, please --- diff --git a/config9.m4 b/config9.m4 index b32293d..8064df9 100644 --- a/config9.m4 +++ b/config9.m4 @@ -2,73 +2,46 @@ PHP_ARG_WITH(pq, [whether to enable libpq (PostgreSQL) support], [ --with-pq[=DIR] Include libpq support]) if test "$PHP_PQ" != "no"; then - AC_PATH_PROG(PG_CONFIG, pg_config, no) - dnl use pg_config output when no DIR given - if test -x "$PG_CONFIG" && test "$PHP_PQ" = "yes"; then - AC_MSG_CHECKING(libpq version) - PQ_INCDIR=`$PG_CONFIG --includedir` - PQ_LIBDIR=`$PG_CONFIG --libdir` - PQ_VERSION=`$PG_CONFIG --version` - - if test -z "$PQ_VERSION"; then - AC_MSG_RESULT(version not found) - AC_MSG_ERROR(Please reinstall libpq) - else - AC_MSG_RESULT($PQ_VERSION) + 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 + if test -x "$i/bin/pg_config"; then + PG_CONFIG="$i/bin/pg_config" + break fi - + 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 - SEARCH_PATH="/usr/local /usr /opt" - if test "$PHP_PQ" != "yes"; then - SEARCH_PATH="$PHP_PQ $SEARCH_PATH" + 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 - 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) - break - fi - AC_MSG_RESULT(nope) - done + + AC_MSG_CHECKING(for PostgreSQL version) + PQ_VERSION=$($PG_CONFIG --version | $SED 's/PostgreSQL //') - if test -z "$PQ_INCDIR"; then - AC_MSG_ERROR(could not find include/libpq-events.h) - fi - - ARCH=`uname -i` - 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 - fi - AC_MSG_RESULT(nope) - - dnl for Debian - AC_MSG_CHECKING(for $i/$PHP_LIBDIR/$ARCH-linux-gnu/libpq.$SHLIB_SUFFIX_NAME) - if test -f "$i/$PHP_LIBDIR/$ARCH-linux-gnu/libpq.$SHLIB_SUFFIX_NAME"; then - PQ_LIBDIR=$i/$PHP_LIBDIR/$ARCH-linux-gnu - AC_MSG_RESULT(yep) - break - fi - AC_MSG_RESULT(nope) - done - - if test -z "$PQ_LIBDIR"; then - AC_MSG_ERROR(could not find libpq.$SHLIB_SUFFIX_NAME) + 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_INCDIR) diff --git a/src/php_pq_module.c b/src/php_pq_module.c index 86fc93e..989b7c8 100644 --- a/src/php_pq_module.c +++ b/src/php_pq_module.c @@ -95,12 +95,12 @@ static PHP_MINFO_FUNCTION(pq) php_info_print_table_end(); php_info_print_table_start(); - php_info_print_table_header(2, "Used Library", "Version"); + php_info_print_table_header(3, "Used Library", "Compiled", "Linked"); #ifdef HAVE_PQLIBVERSION libpq_v = PQlibVersion(); slprintf(libpq_version, sizeof(libpq_version), "%d.%d.%d", libpq_v/10000%100, libpq_v/100%100, libpq_v%100); #endif - php_info_print_table_row(2, "libpq", libpq_version); + php_info_print_table_row(3, "libpq", PHP_PQ_LIBVERSION, libpq_version); php_info_print_table_end(); }