Skip to content

Commit 4ae394a

Browse files
committed
Make ngx_postgres possible to build as dynamic module
1 parent eb678e9 commit 4ae394a

File tree

1 file changed

+26
-98
lines changed

1 file changed

+26
-98
lines changed

config

Lines changed: 26 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -102,27 +102,16 @@ END
102102
exit 1
103103
fi
104104

105-
ngx_version=`grep nginx_version src/core/nginx.h | sed -e 's/^.* \(.*\)$/\1/'`
105+
lib_version=90600
106+
ngx_feature="libpq library version 9.6"
106107

107-
if [ -z "$ngx_version" ]; then
108-
cat << END
109-
$0: error: ngx_postgres addon was unable to detect version of nginx.
110-
END
111-
exit 1
112-
fi
113-
114-
# work-around for versions of nginx older than nginx-0.9.0
115-
if [ $ngx_version -ge 9000 ]; then
116-
ngx_feature_name="NGX_POSTGRES_LIBRARY_VERSION"
117-
ngx_feature_run=value
118-
else
119-
ngx_feature_name="NGX_POSTGRES_LIBRARY_VERSION_DETECTED"
120-
ngx_feature_run=no
108+
if [ $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
121113
fi
122114

123-
lib_version=90500
124-
ngx_feature="libpq library version 9.5"
125-
126115
if [ $ngx_found = no ]; then
127116
lib_version=90400
128117
ngx_feature="libpq library version 9.4"
@@ -151,92 +140,31 @@ if [ $ngx_found = no ]; then
151140
. auto/feature
152141
fi
153142

154-
if [ $ngx_found = no ]; then
155-
lib_version=90000
156-
ngx_feature="libpq library version 9.0"
157-
ngx_feature_test="(void) PQescapeLiteral(NULL, NULL, 0);
158-
printf(\"$lib_version\")"
159-
. auto/feature
160-
fi
161-
162-
if [ $ngx_found = no ]; then
163-
lib_version=80400
164-
ngx_feature="libpq library version 8.4"
165-
ngx_feature_test="PQinitOpenSSL(0, 0);
166-
printf(\"$lib_version\")"
167-
. auto/feature
168-
fi
169-
170-
if [ $ngx_found = no ]; then
171-
lib_version=80300
172-
ngx_feature="libpq library version 8.3"
173-
ngx_feature_test="(void) PQconnectionNeedsPassword(NULL);
174-
printf(\"$lib_version\")"
175-
. auto/feature
176-
fi
177-
178-
if [ $ngx_found = no ]; then
179-
lib_version=80200
180-
ngx_feature="libpq library version 8.2"
181-
ngx_feature_test="(void) PQsendDescribePortal(NULL, NULL);
182-
printf(\"$lib_version\")"
183-
. auto/feature
184-
fi
185-
186-
if [ $ngx_found = no ]; then
187-
lib_version=80104
188-
ngx_feature="libpq library version 8.1.4"
189-
ngx_feature_test="(void) PQescapeByteaConn(NULL, NULL, 0, 0);
190-
(void) PQregisterThreadLock(NULL);
191-
printf(\"$lib_version\")"
192-
. auto/feature
193-
fi
194-
195-
if [ $ngx_found = no ]; then
196-
lib_version=80100
197-
ngx_feature="libpq library version 8.1.0"
198-
ngx_feature_test="(void) PQregisterThreadLock(NULL);
199-
printf(\"$lib_version\")"
200-
. auto/feature
201-
fi
202-
203-
if [ $ngx_found = no ]; then
204-
lib_version=80008
205-
ngx_feature="libpq library version 8.0.8"
206-
ngx_feature_test="(void) PQescapeByteaConn(NULL, NULL, 0, 0);
207-
(void) PQcancel(NULL, NULL, 0);
208-
printf(\"$lib_version\")"
209-
. auto/feature
210-
fi
211-
212-
if [ $ngx_found = no ]; then
213-
lib_version=80000
214-
ngx_feature="libpq library version 8.0.0"
215-
ngx_feature_test="(void) PQcancel(NULL, NULL, 0);
216-
printf(\"$lib_version\")"
217-
. auto/feature
218-
fi
219-
220143
if [ $ngx_found = no ]; then
221144
cat << END
222145
$0: error: ngx_postgres addon was unable to detect version of the libpq library.
223146
END
224147
exit 1
225148
fi
226149

227-
# work-around for versions of nginx older than nginx-0.9.0
228-
if [ $ngx_version -lt 9000 ]; then
229-
have=NGX_POSTGRES_LIBRARY_VERSION value=$lib_version . auto/define
230-
fi
231-
232-
ngx_addon_name=ngx_postgres
233-
234-
HTTP_MODULES="$HTTP_MODULES ngx_postgres_module"
150+
ngx_addon_name=ngx_postgres_module
151+
NGX_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"
152+
NGX_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"
235153

236-
CORE_INCS="$CORE_INCS $ngx_feature_path"
237-
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
238-
239-
NGX_ADDON_SRCS="$NGX_ADDON_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"
240-
NGX_ADDON_DEPS="$NGX_ADDON_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"
154+
if 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
162+
else
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"
168+
fi
241169

242-
have=NGX_POSTGRES_MODULE . auto/have
170+
have=NGX_POSTGRES_MODULE . auto/have

0 commit comments

Comments
 (0)