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.

111 lines
5.1 KiB

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