ae8ae2ffc8e7733334e07febddf6647494944c7e
[m6w6/ext-pq] / config.m4
1 PHP_ARG_WITH(pq, [whether to enable libpq (PostgreSQL) support],
2 [ --with-pq[=DIR] Include libpq support])
3
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"
8 fi
9 for i in $SEARCH_PATH; do
10 AC_MSG_CHECKING(for $i/include/libpq-events.h)
11 if test -f "$i/include/libpq-events.h"; then
12 PQ_DIR=$i
13 AC_MSG_RESULT(yep)
14 break
15 fi
16 AC_MSG_RESULT(nope)
17 done
18
19 if test -z "$PQ_DIR"; then
20 AC_MSG_ERROR(could not find include/libpq-events.h)
21 fi
22 PHP_ADD_INCLUDE($PQ_DIR/include)
23
24 ifdef([AC_PROG_EGREP], [
25 AC_PROG_EGREP
26 ], [
27 AC_CHECK_PROG(EGREP, egrep, egrep)
28 ])
29
30 for PQ_DEF in PGRES_SINGLE_TUPLE PGRES_COPY_BOTH; do
31 AC_MSG_CHECKING(for $PQ_DEF)
32 if $EGREP -q $PQ_DEF $PQ_DIR/include/libpq-fe.h; then
33 AC_DEFINE([$PQ_DEF], [1], [Have $PQ_DEF])
34 AC_MSG_RESULT(yep)
35 else
36 AC_MSG_RESULT(nope)
37 fi
38 done
39
40
41 AC_DEFUN([PQ_CHECK_FUNC], [
42 FAIL_HARD=$2
43
44 PHP_CHECK_LIBRARY(pq, $1, [
45 AC_DEFINE([HAVE_]translit($1,a-z,A-Z), 1, Have $1)
46 ], [
47 if test -n "$FAIL_HARD"; then
48 if "$FAIL_HARD"; then
49 AC_MSG_ERROR(could not find $PQ_SYM in -lpq)
50 fi
51 fi
52 ], [
53 -L$PQ_DIR/$PHP_LIBDIR
54 ])
55 ])
56
57 PQ_CHECK_FUNC(PQregisterEventProc, true)
58 PHP_ADD_LIBRARY_WITH_PATH(pq, $PQ_DIR/$PHP_LIBDIR, PQ_SHARED_LIBADD)
59 PHP_SUBST(PQ_SHARED_LIBADD)
60
61 PQ_CHECK_FUNC(PQlibVersion)
62 PQ_CHECK_FUNC(PQconninfo)
63 PQ_CHECK_FUNC(PQsetSingleRowMode)
64
65 PQ_SRC="\
66 src/php_pq_module.c\
67 src/php_pq_misc.c\
68 src/php_pq_callback.c\
69 src/php_pq_object.c\
70 src/php_pq_params.c\
71 src/php_pqcancel.c\
72 src/php_pqconn.c\
73 src/php_pqconn_event.c\
74 src/php_pqcopy.c\
75 src/php_pqexc.c\
76 src/php_pqlob.c\
77 src/php_pqres.c\
78 src/php_pqstm.c\
79 src/php_pqtxn.c\
80 src/php_pqtypes.c\
81 src/php_pqcur.c\
82 "
83 PHP_NEW_EXTENSION(pq, $PQ_SRC, $ext_shared)
84 PHP_ADD_BUILD_DIR($ext_builddir/src)
85 PHP_ADD_INCLUDE($ext_srcdir/src)
86 PHP_ADD_EXTENSION_DEP(pq, raphf)
87
88 fi
89