mirror of
https://github.com/nginx/nginx.git
synced 2024-12-15 13:28:59 +08:00
97f59dda09
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.
45 lines
910 B
Plaintext
45 lines
910 B
Plaintext
|
|
# Copyright (C) Igor Sysoev
|
|
# Copyright (C) Nginx, Inc.
|
|
|
|
|
|
have=NGX_WIN32 . auto/have_headers
|
|
|
|
CORE_INCS="$WIN32_INCS"
|
|
CORE_DEPS="$WIN32_DEPS"
|
|
CORE_SRCS="$WIN32_SRCS $IOCP_SRCS"
|
|
OS_CONFIG="$WIN32_CONFIG"
|
|
NGX_ICONS="$NGX_WIN32_ICONS"
|
|
SELECT_SRCS=$WIN32_SELECT_SRCS
|
|
|
|
ngx_pic_opt=
|
|
|
|
case "$NGX_CC_NAME" in
|
|
|
|
gcc)
|
|
CORE_LIBS="$CORE_LIBS -ladvapi32 -lws2_32"
|
|
MAIN_LINK="$MAIN_LINK -Wl,--export-all-symbols"
|
|
MAIN_LINK="$MAIN_LINK -Wl,--out-implib=$NGX_OBJS/libnginx.a"
|
|
MODULE_LINK="-shared -L $NGX_OBJS -lnginx"
|
|
;;
|
|
|
|
*)
|
|
CORE_LIBS="$CORE_LIBS advapi32.lib ws2_32.lib"
|
|
;;
|
|
|
|
esac
|
|
|
|
EVENT_MODULES="$EVENT_MODULES $IOCP_MODULE"
|
|
EVENT_FOUND=YES
|
|
|
|
if [ $EVENT_SELECT = NO ]; then
|
|
CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
|
|
EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
|
|
fi
|
|
|
|
if [ $NGX_IPV6 = YES ]; then
|
|
have=NGX_HAVE_INET6 . auto/have
|
|
fi
|
|
|
|
have=NGX_HAVE_IOCP . auto/have
|