xref: /php-src/ext/pgsql/config.m4 (revision 80ae7f79)
1PHP_ARG_WITH([pgsql],
2  [for PostgreSQL support],
3  [AS_HELP_STRING([[--with-pgsql[=DIR]]],
4    [Include PostgreSQL support. Optional DIR is the PostgreSQL base install
5    directory or the path to pg_config. Also, the PGSQL_CFLAGS and PGSQL_LIBS
6    environment variables can be used instead of the DIR argument to customize
7    the libpq paths.])])
8
9if test "$PHP_PGSQL" != "no"; then
10  PHP_SETUP_PGSQL([PGSQL_SHARED_LIBADD],,, [$PHP_PGSQL])
11  PHP_SUBST([PGSQL_SHARED_LIBADD])
12
13  AC_DEFINE([HAVE_PGSQL], [1],
14    [Define to 1 if the PHP extension 'pgsql' is available.])
15
16  PHP_CHECK_LIBRARY([pq], [PQresultMemorySize],
17    [AC_DEFINE([HAVE_PG_RESULT_MEMORY_SIZE], [1],
18      [Define to 1 if libpq has the 'PQresultMemorySize' function (PostgreSQL 12
19      or later).])],,
20    [$PGSQL_LIBS])
21  PHP_CHECK_LIBRARY([pq], [PQchangePassword],
22    [AC_DEFINE([HAVE_PG_CHANGE_PASSWORD], [1],
23      [Define to 1 if libpq has the 'PQchangePassword' function (PostgreSQL 17
24      or later).])],,
25    [$PGSQL_LIBS])
26  PHP_CHECK_LIBRARY([pq], [PQsocketPoll],
27    [AC_DEFINE([HAVE_PG_SOCKET_POLL], [1],
28      [Define to 1 if libpq has the 'PQsocketPoll' function (PostgreSQL 17 or
29      later).])],,
30    [$PGSQL_LIBS])
31  PHP_CHECK_LIBRARY([pq], [PQsetChunkedRowsMode],
32    [AC_DEFINE([HAVE_PG_SET_CHUNKED_ROWS_SIZE], [1],
33      [Define to 1 if libpq has the 'PQsetChunkedRowsMode' function (PostgreSQL
34      17 or later).])],,
35    [$PGSQL_LIBS])
36
37  old_CFLAGS=$CFLAGS
38  CFLAGS="$CFLAGS $PGSQL_CFLAGS"
39
40  dnl Available since PostgreSQL 12.
41  AC_CACHE_CHECK([if PGVerbosity enum has PQERRORS_SQLSTATE],
42    [php_cv_enum_pgverbosity_pqerrors_sqlstate],
43    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <libpq-fe.h>],
44      [PGVerbosity e = PQERRORS_SQLSTATE; (void)e;])],
45      [php_cv_enum_pgverbosity_pqerrors_sqlstate=yes],
46      [php_cv_enum_pgverbosity_pqerrors_sqlstate=no])])
47  AS_VAR_IF([php_cv_enum_pgverbosity_pqerrors_sqlstate], [yes],
48    [AC_DEFINE([HAVE_PQERRORS_SQLSTATE], [1],
49      [Define to 1 if PGVerbosity enum has PQERRORS_SQLSTATE.])])
50
51  CFLAGS=$old_CFLAGS
52
53  PHP_NEW_EXTENSION([pgsql],
54    [pgsql.c],
55    [$ext_shared],,
56    [-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
57  PHP_ADD_EXTENSION_DEP(pgsql, pcre)
58fi
59