comparison auto/install @ 6383:85dea406e18f

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 04 Feb 2016 20:25:29 +0300
parents c983c8dea44c
children cfc3cfa434ec
comparison
equal deleted inserted replaced
6382:392959224560 6383:85dea406e18f
22 22
23 *) 23 *)
24 NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH 24 NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
25 ;; 25 ;;
26 esac 26 esac
27
28
29 case ".$NGX_MODULES_PATH" in
30 ./*)
31 ;;
32
33 *)
34 NGX_MODULES_PATH=$NGX_PREFIX/$NGX_MODULES_PATH
35 ;;
36 esac
37
38 NGX_MODULES_PATH=`dirname $NGX_MODULES_PATH/.`
27 39
28 40
29 case ".$NGX_CONF_PATH" in 41 case ".$NGX_CONF_PATH" in
30 ./*) 42 ./*)
31 ;; 43 ;;
156 END 168 END
157 169
158 fi 170 fi
159 171
160 172
173 if test -n "$NGX_MODULES"; then
174 cat << END >> $NGX_MAKEFILE
175
176 test -d '\$(DESTDIR)$NGX_MODULES_PATH' \
177 || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH'
178 cp $NGX_MODULES '\$(DESTDIR)$NGX_MODULES_PATH'
179 END
180
181 fi
182
183
161 # create Makefile 184 # create Makefile
162 185
163 cat << END >> Makefile 186 cat << END >> Makefile
164 187
165 build: 188 build:
166 \$(MAKE) -f $NGX_MAKEFILE 189 \$(MAKE) -f $NGX_MAKEFILE
190 \$(MAKE) -f $NGX_MAKEFILE modules
167 \$(MAKE) -f $NGX_MAKEFILE manpage 191 \$(MAKE) -f $NGX_MAKEFILE manpage
168 192
169 install: 193 install:
170 \$(MAKE) -f $NGX_MAKEFILE install 194 \$(MAKE) -f $NGX_MAKEFILE install
171 195