summaryrefslogtreecommitdiffhomepage
path: root/auto/lib
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2016-02-04 20:25:29 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2016-02-04 20:25:29 +0300
commit97f59dda09f139fbf18d6a20097d3337a2489b3c (patch)
tree14bdb60c3fbb499c15dcd21267d847af4c8f4b5b /auto/lib
parent0805ba14e7a25bc61627d6ece2a79243fe0b640a (diff)
downloadnginx-97f59dda09f139fbf18d6a20097d3337a2489b3c.tar.gz
nginx-97f59dda09f139fbf18d6a20097d3337a2489b3c.tar.bz2
Dynamic modules.
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.
Diffstat (limited to 'auto/lib')
-rw-r--r--auto/lib/conf6
-rw-r--r--auto/lib/geoip/conf7
-rw-r--r--auto/lib/libgd/conf7
-rw-r--r--auto/lib/libxslt/conf13
4 files changed, 26 insertions, 7 deletions
diff --git a/auto/lib/conf b/auto/lib/conf
index e1e447557..6aaa43a5f 100644
--- a/auto/lib/conf
+++ b/auto/lib/conf
@@ -58,11 +58,11 @@ if [ $USE_ZLIB = YES ]; then
. auto/lib/zlib/conf
fi
-if [ $USE_LIBXSLT = YES ]; then
+if [ $USE_LIBXSLT != NO ]; then
. auto/lib/libxslt/conf
fi
-if [ $USE_LIBGD = YES ]; then
+if [ $USE_LIBGD != NO ]; then
. auto/lib/libgd/conf
fi
@@ -70,7 +70,7 @@ if [ $USE_PERL = YES ]; then
. auto/lib/perl/conf
fi
-if [ $HTTP_GEOIP = YES ]; then
+if [ $USE_GEOIP != NO ]; then
. auto/lib/geoip/conf
fi
diff --git a/auto/lib/geoip/conf b/auto/lib/geoip/conf
index 53c274d54..ebd2e15cc 100644
--- a/auto/lib/geoip/conf
+++ b/auto/lib/geoip/conf
@@ -67,7 +67,12 @@ fi
if [ $ngx_found = yes ]; then
CORE_INCS="$CORE_INCS $ngx_feature_path"
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+
+ 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"
diff --git a/auto/lib/libgd/conf b/auto/lib/libgd/conf
index ff99054db..6e4e91cf0 100644
--- a/auto/lib/libgd/conf
+++ b/auto/lib/libgd/conf
@@ -67,7 +67,12 @@ fi
if [ $ngx_found = yes ]; then
CORE_INCS="$CORE_INCS $ngx_feature_path"
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+
+ if [ $USE_LIBGD = YES ]; then
+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+ fi
+
+ NGX_LIB_LIBGD=$ngx_feature_libs
else
diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf
index bc19d83dd..3a0f37be5 100644
--- a/auto/lib/libxslt/conf
+++ b/auto/lib/libxslt/conf
@@ -76,7 +76,12 @@ fi
if [ $ngx_found = yes ]; then
CORE_INCS="$CORE_INCS $ngx_feature_path"
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+
+ if [ $USE_LIBXSLT = YES ]; then
+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+ fi
+
+ NGX_LIB_LIBXSLT=$ngx_feature_libs
else
@@ -152,5 +157,9 @@ fi
if [ $ngx_found = yes ]; then
- CORE_LIBS="$CORE_LIBS -lexslt"
+ if [ $USE_LIBXSLT = YES ]; then
+ CORE_LIBS="$CORE_LIBS -lexslt"
+ fi
+
+ NGX_LIB_LIBXSLT="$NGX_LIB_LIBXSLT -lexslt"
fi