comparison auto/os/win32 @ 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 4dc8e7b62216
children a6d116645c51
comparison
equal deleted inserted replaced
6382:392959224560 6383:85dea406e18f
10 CORE_SRCS="$WIN32_SRCS $IOCP_SRCS" 10 CORE_SRCS="$WIN32_SRCS $IOCP_SRCS"
11 OS_CONFIG="$WIN32_CONFIG" 11 OS_CONFIG="$WIN32_CONFIG"
12 NGX_ICONS="$NGX_WIN32_ICONS" 12 NGX_ICONS="$NGX_WIN32_ICONS"
13 SELECT_SRCS=$WIN32_SELECT_SRCS 13 SELECT_SRCS=$WIN32_SELECT_SRCS
14 14
15 ngx_pic_opt=
16
15 case "$NGX_CC_NAME" in 17 case "$NGX_CC_NAME" in
16 18
17 gcc) 19 gcc)
18 CORE_LIBS="$CORE_LIBS -ladvapi32 -lws2_32" 20 CORE_LIBS="$CORE_LIBS -ladvapi32 -lws2_32"
21 MAIN_LINK="$MAIN_LINK -Wl,--export-all-symbols"
22 MAIN_LINK="$MAIN_LINK -Wl,--out-implib=$NGX_OBJS/libnginx.a"
23 MODULE_LINK="-shared -L $NGX_OBJS -lnginx"
19 ;; 24 ;;
20 25
21 *) 26 *)
22 CORE_LIBS="$CORE_LIBS advapi32.lib ws2_32.lib" 27 CORE_LIBS="$CORE_LIBS advapi32.lib ws2_32.lib"
23 ;; 28 ;;