File: want_pgsql.m4

package info (click to toggle)
dovecot 1%3A2.4.1%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 46,224 kB
  • sloc: ansic: 596,204; makefile: 7,825; sh: 6,005; cpp: 1,866; perl: 487; yacc: 412; lex: 320; python: 253; xml: 232
file content (60 lines) | stat: -rw-r--r-- 1,999 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
AC_DEFUN([DOVECOT_WANT_PGSQL], [
  have_pgsql=no

  AS_IF([test "$want_pgsql" != "no"], [
    PKG_CHECK_MODULES([PGSQL], [libpq], [have_pgsql=yes], [have_pgsql=no])

    dnl Obsolete manual check for library/header location, currently
    dnl only necessary for CentOS7.
    dnl TODO: Make sure to remove this next block as soon as this is not
    dnl       officially supported anymore
    dnl Based on code from PHP.
    AS_IF([test "$have_pgsql" = "no"], [
      AC_MSG_CHECKING([for libpq library in expected file paths])

      AC_SUBST(PGSQL_CFLAGS)
      AC_SUBST(PGSQL_LIBS)
      for i in /usr /usr/local /usr/local/pgsql; do
        for j in include include/pgsql include/postgres include/postgresql ""; do
          if test -r "$i/$j/libpq-fe.h"; then
            PGSQL_INCLUDE="-I$i/$j"
          fi
        done
        for lib in lib lib64; do
          for j in $lib $lib/pgsql $lib/postgres $lib/postgresql ""; do
            if test -f "$i/$lib/$j/libpq.so" || test -f "$i/$lib/$j/libpq.a"; then
              PGSQL_LIBS="-L$i/$lib/$j -lpq"
            fi
          done
        done
      done

      AS_IF([test "$PGSQL_INCLUDE" != "" || test "$PGSQL_LIBS" != ""], [
        AC_MSG_RESULT([using PGSQL_CFLAGS="$PGSQL_CFLAGS" and PGSQL_LIBS="$PGSQL_LIBS"])

        AC_CHECK_LIB(pq, PQconnectdb, [
          have_pgsql=yes
          PGSQL_CFLAGS="$PGSQL_CFLAGS $PGSQL_INCLUDE"
        ],, $PGSQL_LIBS)
      ], [
        AC_MSG_RESULT([none found])
      ])
    ])

    AS_IF([test "$want_pgsql" = "yes" && test "$have_pgsql" = "no"], [
      AC_MSG_ERROR([cannot build with PostgreSQL support: PostgreSQL library (libpq) not found])
    ])
  ])

  AS_IF([test "$have_pgsql" != "no"], [
    found_sql_drivers="$found_sql_drivers pgsql"

    AC_CHECK_LIB(pq, PQescapeStringConn, [
      AC_DEFINE(HAVE_PQESCAPE_STRING_CONN,, [
        Define if libpq has PQescapeStringConn function
      ])
    ],, $PGSQL_LIBS)

    AC_DEFINE(HAVE_PGSQL,, [Build with PostgreSQL support])
  ])
])