1 PHP_ARG_WITH(pq, [whether to enable libpq (PostgreSQL) support],
2 [ --with-pq[=DIR] Include libpq support])
4 if test "$PHP_PQ" != "no"; then
5 SEARCH_PATH="/usr/local /usr /opt"
6 if test "$PHP_PQ" != "yes"; then
7 SEARCH_PATH="$PHP_PQ $SEARCH_PATH"
9 for i in $SEARCH_PATH; do
11 AC_MSG_CHECKING(for $i/include/postgresql/libpq-events.h)
12 if test -f "$i/include/postgresql/libpq-events.h"; then
13 PQ_INCDIR=$i/include/postgresql
19 AC_MSG_CHECKING(for $i/include/libpq-events.h)
20 if test -f "$i/include/libpq-events.h"; then
28 if test -z "$PQ_INCDIR"; then
29 AC_MSG_ERROR(could not find include/libpq-events.h)
32 for i in $SEARCH_PATH; do
33 AC_MSG_CHECKING(for $i/$PHP_LIBDIR/libpq.$SHLIB_SUFFIX_NAME)
34 if test -f "$i/$PHP_LIBDIR/libpq.$SHLIB_SUFFIX_NAME"; then
35 PQ_LIBDIR=$i/$PHP_LIBDIR
42 AC_MSG_CHECKING(for $i/$PHP_LIBDIR/x86_64-linux-gnu/libpq.$SHLIB_SUFFIX_NAME)
43 if test -f "$i/$PHP_LIBDIR/x86_64-linux-gnu/libpq.$SHLIB_SUFFIX_NAME"; then
44 PQ_LIBDIR=$i/$PHP_LIBDIR/x86_64-linux-gnu
51 if test -z "$PQ_LIBDIR"; then
52 AC_MSG_ERROR(could not find libpq.$SHLIB_SUFFIX_NAME)
55 PHP_ADD_INCLUDE($PQ_INCDIR)
57 ifdef([AC_PROG_EGREP], [
60 AC_CHECK_PROG(EGREP, egrep, egrep)
64 dnl PQ_CHECK_CONST(name)
66 AC_DEFUN([PQ_CHECK_CONST], [
67 AC_MSG_CHECKING(for $1)
68 if $EGREP -q $1 $PQ_INCDIR/libpq-fe.h; then
69 AC_DEFINE(HAVE_$1, 1, [Have $1])
76 PQ_CHECK_CONST(PGRES_SINGLE_TUPLE)
77 PQ_CHECK_CONST(PGRES_COPY_BOTH)
81 dnl PQ_CHECK_FUNC(sym, fail-hard)
83 AC_DEFUN([PQ_CHECK_FUNC], [
86 PHP_CHECK_LIBRARY(pq, $1, [
87 AC_DEFINE([HAVE_]translit($1,a-z,A-Z), 1, Have $1)
89 if test -n "$FAIL_HARD"; then
91 AC_MSG_ERROR(could not find $PQ_SYM in -lpq)
99 PQ_CHECK_FUNC(PQregisterEventProc, true)
100 PHP_ADD_LIBRARY_WITH_PATH(pq, $PQ_LIBDIR, PQ_SHARED_LIBADD)
101 PHP_SUBST(PQ_SHARED_LIBADD)
103 PQ_CHECK_FUNC(PQlibVersion)
104 PQ_CHECK_FUNC(PQconninfo)
105 PQ_CHECK_FUNC(PQsetSingleRowMode)
108 dnl PQ_HAVE_PHP_EXT(name[, code-if-yes[, code-if-not]])
110 AC_DEFUN([PQ_HAVE_PHP_EXT], [
112 haveext=$[PHP_]translit($1,a-z_-,A-Z__)
113 AC_MSG_CHECKING([for ext/$extname support])
114 if test "$haveext" != "no" && test "x$haveext" != "x"; then
115 [PHP_PQ_HAVE_EXT_]translit($1,a-z_-,A-Z__)=1
118 elif test -x "$PHP_EXECUTABLE"; then
119 grepext=`$PHP_EXECUTABLE -m | $EGREP ^$extname\$`
120 if test "$grepext" = "$extname"; then
121 [PHP_PQ_HAVE_EXT_]translit($1,a-z_-,A-Z__)=1
125 [PHP_PQ_HAVE_EXT_]translit($1,a-z_-,A-Z__)=
130 [PHP_PQ_HAVE_EXT_]translit($1,a-z_-,A-Z__)=
139 src/php_pq_callback.c\
144 src/php_pqconn_event.c\
154 PHP_NEW_EXTENSION(pq, $PQ_SRC, $ext_shared)
155 PHP_ADD_BUILD_DIR($ext_builddir/src)
156 PHP_ADD_INCLUDE($ext_srcdir/src)
158 PQ_HAVE_PHP_EXT([raphf], [
159 AC_MSG_CHECKING([for php_raphf.h])
161 for i in `echo $INCLUDES | $SED -e's/-I//g'` $abs_srcdir ../raphf; do
163 if test -f $i/php_raphf.h; then
164 PQ_EXT_RAPHF_INCDIR=$i
166 elif test -f $i/ext/raphf/php_raphf.h; then
167 PQ_EXT_RAPHF_INCDIR=$i/ext/raphf
172 if test "x$PQ_EXT_RAPHF_INCDIR" = "x"; then
173 AC_MSG_ERROR([not found])
175 AC_MSG_RESULT([$PQ_EXT_RAPHF_INCDIR])
176 AC_DEFINE([PHP_PQ_HAVE_PHP_RAPHF_H], [1], [Have ext/raphf support])
177 PHP_ADD_INCLUDE([$PQ_EXT_RAPHF_INCDIR])
180 AC_MSG_ERROR([Please install pecl/raphf and activate extension=raphf.$SHLIB_DL_SUFFIX_NAME in your php.ini])
182 PHP_ADD_EXTENSION_DEP(pq, raphf, true)
183 PQ_HAVE_PHP_EXT([json], [
184 AC_MSG_CHECKING([for php_json.h])
186 for i in `echo $INCLUDES | $SED -e's/-I//g'` $abs_srcdir ../json ../jsonc ../jsond; do
188 if test -f $i/php_json.h; then
189 PQ_EXT_JSON_INCDIR=$i
191 elif test -f $i/ext/json/php_json.h; then
192 PQ_EXT_JSON_INCDIR=$i/ext/json
197 if test "x$PQ_EXT_JSON_INCDIR" = "x"; then
198 AC_MSG_ERROR([not found])
200 AC_MSG_RESULT([$PQ_EXT_JSON_INCDIR])
201 AC_DEFINE([PHP_PQ_HAVE_PHP_JSON_H], [1], [Have ext/json support])
202 PHP_ADD_INCLUDE([$PQ_EXT_JSON_INCDIR])