1ngx_feature_name=
2ngx_feature_run=no
3ngx_feature_incs="#include <libpq-fe.h>"
4ngx_feature_test="(void) PQconndefaults();"
5
6if [ -n "$LIBPQ_INC" -o -n "$LIBPQ_LIB" ]; then
7    # specified by LIBPQ_INC and LIBPQ_LIB
8    ngx_feature="libpq library in directories specified by LIBPQ_INC ($LIBPQ_INC) and LIBPQ_LIB ($LIBPQ_LIB)"
9    ngx_feature_path="$LIBPQ_INC"
10    if [ $NGX_RPATH = YES ]; then
11        ngx_feature_libs="-R$LIBPQ_LIB -L$LIBPQ_LIB -lpq"
12    else
13        ngx_feature_libs="-L$LIBPQ_LIB -lpq"
14    fi
15    . auto/feature
16else
17    if [ -z "$PG_CONFIG" ]; then
18        PG_CONFIG=pg_config
19    fi
20
21    if type $PG_CONFIG >/dev/null 2>&1; then
22        # based on information from pg_config
23        ngx_feature="libpq library (via $PG_CONFIG)"
24        ngx_feature_path="`$PG_CONFIG --includedir`"
25        if [ $NGX_RPATH = YES ]; then
26            ngx_feature_libs="-R`$PG_CONFIG --libdir` -L`$PG_CONFIG --libdir` -lpq"
27        else
28            ngx_feature_libs="-L`$PG_CONFIG --libdir` -lpq"
29        fi
30        . auto/feature
31    fi
32
33    # auto-discovery
34    if [ $ngx_found = no ]; then
35        # system-wide
36        ngx_feature="libpq library"
37        ngx_feature_path=
38        ngx_feature_libs="-lpq"
39        . auto/feature
40    fi
41
42    if [ $ngx_found = no ]; then
43        # Debian
44        ngx_feature="libpq library in /usr/../postgresql/"
45        ngx_feature_path="/usr/include/postgresql"
46        . auto/feature
47    fi
48
49    if [ $ngx_found = no ]; then
50        # FreeBSD
51        ngx_feature="libpq library in /usr/local/"
52        ngx_feature_path="/usr/local/include"
53        if [ $NGX_RPATH = YES ]; then
54            ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpq"
55        else
56            ngx_feature_libs="-L/usr/local/lib -lpq"
57        fi
58        . auto/feature
59    fi
60
61    if [ $ngx_found = no ]; then
62        # OpenBSD
63        ngx_feature="libpq library in /usr/local/../postgresql/"
64        ngx_feature_path="/usr/local/include/postgresql"
65        if [ $NGX_RPATH = YES ]; then
66            ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpq"
67        else
68            ngx_feature_libs="-L/usr/local/lib -lpq"
69        fi
70        . auto/feature
71    fi
72
73    if [ $ngx_found = no ]; then
74        # NetBSD
75        ngx_feature="libpq library in /usr/pkg/"
76        ngx_feature_path="/usr/pkg/include"
77        if [ $NGX_RPATH = YES ]; then
78            ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lpq"
79        else
80            ngx_feature_libs="-L/usr/pkg/lib -lpq"
81        fi
82        . auto/feature
83    fi
84
85    if [ $ngx_found = no ]; then
86        # MacPorts
87        ngx_feature="libpq library in /opt/local/"
88        ngx_feature_path="/opt/local/include"
89        if [ $NGX_RPATH = YES ]; then
90            ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lpq"
91        else
92            ngx_feature_libs="-L/opt/local/lib -lpq"
93        fi
94        . auto/feature
95    fi
96fi
97
98if [ $ngx_found = no ]; then
99   cat << END
100 $0: error: ngx_postgres addon was unable to find the libpq library.
101END
102   exit 1
103fi
104
105lib_version=90600
106ngx_feature="libpq library version 9.6"
107
108if [ $ngx_found = no ]; then
109    lib_version=90500
110    ngx_feature="libpq library version 9.5"
111    ngx_feature_test="printf(\"%d\", PQlibVersion())"
112    . auto/feature
113fi
114
115if [ $ngx_found = no ]; then
116    lib_version=90400
117    ngx_feature="libpq library version 9.4"
118    ngx_feature_test="printf(\"%d\", PQlibVersion())"
119    . auto/feature
120fi
121
122if [ $ngx_found = no ]; then
123    lib_version=90300
124    ngx_feature="libpq library version 9.3"
125    ngx_feature_test="printf(\"%d\", PQlibVersion())"
126    . auto/feature
127fi
128
129if [ $ngx_found = no ]; then
130    lib_version=90200
131    ngx_feature="libpq library version 9.2"
132    ngx_feature_test="printf(\"%d\", PQlibVersion())"
133    . auto/feature
134fi
135
136if [ $ngx_found = no ]; then
137    lib_version=90100
138    ngx_feature="libpq library version 9.1"
139    ngx_feature_test="printf(\"%d\", PQlibVersion())"
140    . auto/feature
141fi
142
143if [ $ngx_found = no ]; then
144   cat << END
145 $0: error: ngx_postgres addon was unable to detect version of the libpq library.
146END
147   exit 1
148fi
149
150ngx_addon_name=ngx_postgres_module
151NGX_SRCS="$ngx_addon_dir/src/ngx_postgres_escape.c $ngx_addon_dir/src/ngx_postgres_handler.c $ngx_addon_dir/src/ngx_postgres_keepalive.c $ngx_addon_dir/src/ngx_postgres_module.c $ngx_addon_dir/src/ngx_postgres_output.c $ngx_addon_dir/src/ngx_postgres_processor.c $ngx_addon_dir/src/ngx_postgres_rewrite.c $ngx_addon_dir/src/ngx_postgres_upstream.c $ngx_addon_dir/src/ngx_postgres_util.c $ngx_addon_dir/src/ngx_postgres_variable.c"
152NGX_DEPS="$ngx_addon_dir/src/ngx_postgres_escape.h $ngx_addon_dir/src/ngx_postgres_handler.h $ngx_addon_dir/src/ngx_postgres_keepalive.h $ngx_addon_dir/src/ngx_postgres_module.h $ngx_addon_dir/src/ngx_postgres_output.h $ngx_addon_dir/src/ngx_postgres_processor.h $ngx_addon_dir/src/ngx_postgres_rewrite.h $ngx_addon_dir/src/ngx_postgres_upstream.h $ngx_addon_dir/src/ngx_postgres_util.h $ngx_addon_dir/src/ngx_postgres_variable.h $ngx_addon_dir/src/ngx_postgres_ddebug.h $ngx_addon_dir/src/resty_dbd_stream.h"
153
154if test -n "$ngx_module_link"; then
155    ngx_module_type=HTTP
156    ngx_module_name=ngx_postgres_module
157    ngx_module_srcs="$NGX_SRCS"
158    ngx_module_deps="$NGX_DEPS"
159    ngx_module_libs="$ngx_feature_libs"
160    ngx_module_incs="$ngx_feature_path"
161    . auto/module
162else
163    HTTP_MODULES="$HTTP_MODULES ngx_postgres_module"
164    NGX_ADDON_SRCS="$NGX_ADDON_SRCS $NGX_SRCS"
165    NGX_ADDON_DEPS="$NGX_ADDON_DEPS $NGX_DEPS"
166    CORE_INCS="$CORE_INCS $ngx_feature_path"
167    CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
168fi
169
170have=NGX_POSTGRES_MODULE . auto/have