summaryrefslogtreecommitdiffhomepage
path: root/auto/install
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/install
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/install')
-rw-r--r--auto/install24
1 files changed, 24 insertions, 0 deletions
diff --git a/auto/install b/auto/install
index f7f686c1a..4dcc743d3 100644
--- a/auto/install
+++ b/auto/install
@@ -26,6 +26,18 @@ case ".$NGX_SBIN_PATH" in
esac
+case ".$NGX_MODULES_PATH" in
+ ./*)
+ ;;
+
+ *)
+ NGX_MODULES_PATH=$NGX_PREFIX/$NGX_MODULES_PATH
+ ;;
+esac
+
+NGX_MODULES_PATH=`dirname $NGX_MODULES_PATH/.`
+
+
case ".$NGX_CONF_PATH" in
./*)
;;
@@ -158,12 +170,24 @@ END
fi
+if test -n "$NGX_MODULES"; then
+ cat << END >> $NGX_MAKEFILE
+
+ test -d '\$(DESTDIR)$NGX_MODULES_PATH' \
+ || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH'
+ cp $NGX_MODULES '\$(DESTDIR)$NGX_MODULES_PATH'
+END
+
+fi
+
+
# create Makefile
cat << END >> Makefile
build:
\$(MAKE) -f $NGX_MAKEFILE
+ \$(MAKE) -f $NGX_MAKEFILE modules
\$(MAKE) -f $NGX_MAKEFILE manpage
install: