diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2016-02-04 20:25:29 +0300 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2016-02-04 20:25:29 +0300 |
| commit | 97f59dda09f139fbf18d6a20097d3337a2489b3c (patch) | |
| tree | 14bdb60c3fbb499c15dcd21267d847af4c8f4b5b /auto/install | |
| parent | 0805ba14e7a25bc61627d6ece2a79243fe0b640a (diff) | |
| download | nginx-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/install | 24 |
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: |
