ngx_feature_name= ngx_feature_run=no ngx_feature_incs="#include " ngx_feature_test="(void) PQconndefaults();" if [ -n "$LIBPQ_INC" -o -n "$LIBPQ_LIB" ]; then # specified by LIBPQ_INC and LIBPQ_LIB ngx_feature="libpq library in directories specified by LIBPQ_INC ($LIBPQ_INC) and LIBPQ_LIB ($LIBPQ_LIB)" ngx_feature_path="$LIBPQ_INC" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R$LIBPQ_LIB -L$LIBPQ_LIB -lpq" else ngx_feature_libs="-L$LIBPQ_LIB -lpq" fi . auto/feature else if [ -z "$PG_CONFIG" ]; then PG_CONFIG=pg_config fi if type $PG_CONFIG >/dev/null 2>&1; then # based on information from pg_config ngx_feature="libpq library (via $PG_CONFIG)" ngx_feature_path="`$PG_CONFIG --includedir`" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R`$PG_CONFIG --libdir` -L`$PG_CONFIG --libdir` -lpq" else ngx_feature_libs="-L`$PG_CONFIG --libdir` -lpq" fi . auto/feature fi # auto-discovery if [ $ngx_found = no ]; then # system-wide ngx_feature="libpq library" ngx_feature_path= ngx_feature_libs="-lpq" . auto/feature fi if [ $ngx_found = no ]; then # Debian ngx_feature="libpq library in /usr/../postgresql/" ngx_feature_path="/usr/include/postgresql" . auto/feature fi if [ $ngx_found = no ]; then # FreeBSD ngx_feature="libpq library in /usr/local/" ngx_feature_path="/usr/local/include" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpq" else ngx_feature_libs="-L/usr/local/lib -lpq" fi . auto/feature fi if [ $ngx_found = no ]; then # OpenBSD ngx_feature="libpq library in /usr/local/../postgresql/" ngx_feature_path="/usr/local/include/postgresql" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpq" else ngx_feature_libs="-L/usr/local/lib -lpq" fi . auto/feature fi if [ $ngx_found = no ]; then # NetBSD ngx_feature="libpq library in /usr/pkg/" ngx_feature_path="/usr/pkg/include" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lpq" else ngx_feature_libs="-L/usr/pkg/lib -lpq" fi . auto/feature fi if [ $ngx_found = no ]; then # MacPorts ngx_feature="libpq library in /opt/local/" ngx_feature_path="/opt/local/include" if [ $NGX_RPATH = YES ]; then ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lpq" else ngx_feature_libs="-L/opt/local/lib -lpq" fi . auto/feature fi fi if [ $ngx_found = no ]; then cat << END $0: error: ngx_postgres addon was unable to find the libpq library. END exit 1 fi ngx_version=`grep nginx_version src/core/nginx.h | sed -e 's/^.* \(.*\)$/\1/'` if [ -z "$ngx_version" ]; then cat << END $0: error: ngx_postgres addon was unable to detect version of nginx. END exit 1 fi # work-around for versions of nginx older than nginx-0.9.0 if [ $ngx_version -ge 9000 ]; then ngx_feature_name="NGX_POSTGRES_LIBRARY_VERSION" ngx_feature_run=value else ngx_feature_name="NGX_POSTGRES_LIBRARY_VERSION_DETECTED" ngx_feature_run=no fi lib_version=90100 ngx_feature="libpq library version 9.1" ngx_feature_test="printf(\"%d\", PQlibVersion())" . auto/feature if [ $ngx_found = no ]; then lib_version=90000 ngx_feature="libpq library version 9.0" ngx_feature_test="(void) PQescapeLiteral(NULL, NULL, 0); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then lib_version=80400 ngx_feature="libpq library version 8.4" ngx_feature_test="PQinitOpenSSL(0, 0); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then lib_version=80300 ngx_feature="libpq library version 8.3" ngx_feature_test="(void) PQconnectionNeedsPassword(NULL); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then lib_version=80200 ngx_feature="libpq library version 8.2" ngx_feature_test="(void) PQsendDescribePortal(NULL, NULL); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then lib_version=80104 ngx_feature="libpq library version 8.1.4" ngx_feature_test="(void) PQescapeByteaConn(NULL, NULL, 0, 0); (void) PQregisterThreadLock(NULL); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then lib_version=80100 ngx_feature="libpq library version 8.1.0" ngx_feature_test="(void) PQregisterThreadLock(NULL); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then lib_version=80008 ngx_feature="libpq library version 8.0.8" ngx_feature_test="(void) PQescapeByteaConn(NULL, NULL, 0, 0); (void) PQcancel(NULL, NULL, 0); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then lib_version=80000 ngx_feature="libpq library version 8.0.0" ngx_feature_test="(void) PQcancel(NULL, NULL, 0); printf(\"$lib_version\")" . auto/feature fi if [ $ngx_found = no ]; then cat << END $0: error: ngx_postgres addon was unable to detect version of the libpq library. END exit 1 fi # work-around for versions of nginx older than nginx-0.9.0 if [ $ngx_version -lt 9000 ]; then have=NGX_POSTGRES_LIBRARY_VERSION value=$lib_version . auto/define fi ngx_addon_name=ngx_postgres HTTP_MODULES="$HTTP_MODULES ngx_postgres_module" CORE_INCS="$CORE_INCS $ngx_feature_path" CORE_LIBS="$CORE_LIBS $ngx_feature_libs" 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" 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" have=NGX_POSTGRES_MODULE . auto/have