mirror of
https://github.com/nginx/nginx.git
synced 2024-12-19 16:37:48 +08:00
97f59dda09
The auto/module script is extended to understand ngx_module_link=DYNAMIC. When set, it links the module as a shared object rather than statically into nginx binary. The module can later be loaded using the "load_module" directive. New auto/module parameter ngx_module_order allows to define module loading order in complex cases. By default the order is set based on ngx_module_type. 3rd party modules can be compiled dynamically using the --add-dynamic-module configure option, which will preset ngx_module_link to "DYNAMIC" before calling the module config script. Win32 support is rudimentary, and only works when using MinGW gcc (which is able to handle exports/imports automatically). In collaboration with Ruslan Ermilov.
100 lines
2.0 KiB
Plaintext
100 lines
2.0 KiB
Plaintext
|
|
# Copyright (C) Igor Sysoev
|
|
# Copyright (C) Nginx, Inc.
|
|
|
|
|
|
ngx_feature="GeoIP library"
|
|
ngx_feature_name=
|
|
ngx_feature_run=no
|
|
ngx_feature_incs="#include <GeoIP.h>"
|
|
ngx_feature_path=
|
|
ngx_feature_libs="-lGeoIP"
|
|
ngx_feature_test="GeoIP_open(NULL, 0)"
|
|
. auto/feature
|
|
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# FreeBSD port
|
|
|
|
ngx_feature="GeoIP 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 -lGeoIP"
|
|
else
|
|
ngx_feature_libs="-L/usr/local/lib -lGeoIP"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# NetBSD port
|
|
|
|
ngx_feature="GeoIP 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 -lGeoIP"
|
|
else
|
|
ngx_feature_libs="-L/usr/pkg/lib -lGeoIP"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# MacPorts
|
|
|
|
ngx_feature="GeoIP 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 -lGeoIP"
|
|
else
|
|
ngx_feature_libs="-L/opt/local/lib -lGeoIP"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
|
|
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
|
|
|
if [ $USE_GEOIP = YES ]; then
|
|
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
|
fi
|
|
|
|
NGX_LIB_GEOIP=$ngx_feature_libs
|
|
|
|
if [ $NGX_IPV6 = YES ]; then
|
|
ngx_feature="GeoIP IPv6 support"
|
|
ngx_feature_name="NGX_HAVE_GEOIP_V6"
|
|
ngx_feature_run=no
|
|
ngx_feature_incs="#include <stdio.h>
|
|
#include <GeoIP.h>"
|
|
#ngx_feature_path=
|
|
#ngx_feature_libs=
|
|
ngx_feature_test="printf(\"%d\", GEOIP_CITY_EDITION_REV0_V6);"
|
|
. auto/feature
|
|
fi
|
|
|
|
else
|
|
|
|
cat << END
|
|
|
|
$0: error: the GeoIP module requires the GeoIP library.
|
|
You can either do not enable the module or install the library.
|
|
|
|
END
|
|
|
|
exit 1
|
|
fi
|