You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
4.3 KiB

25 years ago
24 years ago
21 years ago
25 years ago
  1. dnl
  2. dnl $Id$
  3. dnl
  4. AC_DEFUN([PHP_PGSQL_CHECK_FUNCTIONS],[
  5. ])
  6. PHP_ARG_WITH(pgsql,for PostgreSQL support,
  7. [ --with-pgsql[=DIR] Include PostgreSQL support. DIR is the PostgreSQL
  8. base install directory or the path to pg_config])
  9. if test "$PHP_PGSQL" != "no"; then
  10. PHP_EXPAND_PATH($PGSQL_INCLUDE, PGSQL_INCLUDE)
  11. AC_MSG_CHECKING(for pg_config)
  12. for i in $PHP_PGSQL $PHP_PGSQL/bin /usr/local/pgsql/bin /usr/local/bin /usr/bin ""; do
  13. if test -x $i/pg_config; then
  14. PG_CONFIG="$i/pg_config"
  15. break;
  16. fi
  17. done
  18. if test -n "$PG_CONFIG"; then
  19. AC_MSG_RESULT([$PG_CONFIG])
  20. PGSQL_INCLUDE=`$PG_CONFIG --includedir`
  21. PGSQL_LIBDIR=`$PG_CONFIG --libdir`
  22. if test -r "$PGSQL_INCLUDE/pg_config.h"; then
  23. AC_DEFINE(HAVE_PG_CONFIG_H,1,[Whether to have pg_config.h])
  24. fi
  25. else
  26. AC_MSG_RESULT(not found)
  27. if test "$PHP_PGSQL" = "yes"; then
  28. PGSQL_SEARCH_PATHS="/usr /usr/local /usr/local/pgsql"
  29. else
  30. PGSQL_SEARCH_PATHS=$PHP_PGSQL
  31. fi
  32. for i in $PGSQL_SEARCH_PATHS; do
  33. for j in include include/pgsql include/postgres include/postgresql ""; do
  34. if test -r "$i/$j/libpq-fe.h"; then
  35. PGSQL_INC_BASE=$i
  36. PGSQL_INCLUDE=$i/$j
  37. if test -r "$i/$j/pg_config.h"; then
  38. AC_DEFINE(HAVE_PG_CONFIG_H,1,[Whether to have pg_config.h])
  39. fi
  40. fi
  41. done
  42. for j in lib $PHP_LIBDIR/pgsql $PHP_LIBDIR/postgres $PHP_LIBDIR/postgresql ""; do
  43. if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then
  44. PGSQL_LIBDIR=$i/$j
  45. fi
  46. done
  47. done
  48. fi
  49. if test -z "$PGSQL_INCLUDE"; then
  50. AC_MSG_ERROR(Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path)
  51. fi
  52. if test -z "$PGSQL_LIBDIR"; then
  53. AC_MSG_ERROR(Cannot find libpq.so. Please specify correct PostgreSQL installation path)
  54. fi
  55. if test -z "$PGSQL_INCLUDE" -a -z "$PGSQL_LIBDIR" ; then
  56. AC_MSG_ERROR([Unable to find libpq anywhere under $withval])
  57. fi
  58. AC_DEFINE(HAVE_PGSQL,1,[Whether to build PostgreSQL support or not])
  59. old_LIBS=$LIBS
  60. old_LDFLAGS=$LDFLAGS
  61. LDFLAGS="$LDFLAGS -L$PGSQL_LIBDIR"
  62. AC_CHECK_LIB(pq, PQescapeString,AC_DEFINE(HAVE_PQESCAPE,1,[PostgreSQL 7.2.0 or later]))
  63. AC_CHECK_LIB(pq, PQunescapeBytea,AC_DEFINE(HAVE_PQUNESCAPEBYTEA,1,[PostgreSQL 7.3.0 or later]))
  64. AC_CHECK_LIB(pq, PQsetnonblocking,AC_DEFINE(HAVE_PQSETNONBLOCKING,1,[PostgreSQL 7.0.x or later]))
  65. AC_CHECK_LIB(pq, PQcmdTuples,AC_DEFINE(HAVE_PQCMDTUPLES,1,[Broken libpq under windows]))
  66. AC_CHECK_LIB(pq, PQoidValue,AC_DEFINE(HAVE_PQOIDVALUE,1,[Older PostgreSQL]))
  67. AC_CHECK_LIB(pq, PQclientEncoding,AC_DEFINE(HAVE_PQCLIENTENCODING,1,[PostgreSQL 7.0.x or later]))
  68. AC_CHECK_LIB(pq, PQparameterStatus,AC_DEFINE(HAVE_PQPARAMETERSTATUS,1,[PostgreSQL 7.4 or later]))
  69. AC_CHECK_LIB(pq, PQprotocolVersion,AC_DEFINE(HAVE_PQPROTOCOLVERSION,1,[PostgreSQL 7.4 or later]))
  70. AC_CHECK_LIB(pq, PQtransactionStatus,AC_DEFINE(HAVE_PGTRANSACTIONSTATUS,1,[PostgreSQL 7.4 or later]))
  71. AC_CHECK_LIB(pq, PQexecParams,AC_DEFINE(HAVE_PQEXECPARAMS,1,[PostgreSQL 7.4 or later]))
  72. AC_CHECK_LIB(pq, PQprepare,AC_DEFINE(HAVE_PQPREPARE,1,[PostgreSQL 7.4 or later]))
  73. AC_CHECK_LIB(pq, PQexecPrepared,AC_DEFINE(HAVE_PQEXECPREPARED,1,[PostgreSQL 7.4 or later]))
  74. AC_CHECK_LIB(pq, PQresultErrorField,AC_DEFINE(HAVE_PQRESULTERRORFIELD,1,[PostgreSQL 7.4 or later]))
  75. AC_CHECK_LIB(pq, PQsendQueryParams,AC_DEFINE(HAVE_PQSENDQUERYPARAMS,1,[PostgreSQL 7.4 or later]))
  76. AC_CHECK_LIB(pq, PQsendPrepare,AC_DEFINE(HAVE_PQSENDPREPARE,1,[PostgreSQL 7.4 or later]))
  77. AC_CHECK_LIB(pq, PQsendQueryPrepared,AC_DEFINE(HAVE_PQSENDQUERYPREPARED,1,[PostgreSQL 7.4 or later]))
  78. AC_CHECK_LIB(pq, PQputCopyData,AC_DEFINE(HAVE_PQPUTCOPYDATA,1,[PostgreSQL 7.4 or later]))
  79. AC_CHECK_LIB(pq, PQputCopyEnd,AC_DEFINE(HAVE_PQPUTCOPYEND,1,[PostgreSQL 7.4 or later]))
  80. AC_CHECK_LIB(pq, PQgetCopyData,AC_DEFINE(HAVE_PQGETCOPYDATA,1,[PostgreSQL 7.4 or later]))
  81. AC_CHECK_LIB(pq, PQsetErrorVerbosity,AC_DEFINE(HAVE_PQSETERRORVERBOSITY,1,[PostgreSQL 7.4 or later]))
  82. AC_CHECK_LIB(pq, pg_encoding_to_char,AC_DEFINE(HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT,1,[Whether libpq is compiled with --enable-multibyte]))
  83. LIBS=$old_LIBS
  84. LDFLAGS=$old_LDFLAGS
  85. PHP_ADD_LIBRARY_WITH_PATH(pq, $PGSQL_LIBDIR, PGSQL_SHARED_LIBADD)
  86. PHP_SUBST(PGSQL_SHARED_LIBADD)
  87. PHP_ADD_INCLUDE($PGSQL_INCLUDE)
  88. PHP_NEW_EXTENSION(pgsql, pgsql.c, $ext_shared)
  89. fi