annotate auto/module @ 6382:392959224560

Dynamic modules: auto/module script. This script simplifies configuration of additional modules, including 3rd party ones. The script is extensible, and will be used to introduce dynamic linking of modules in upcoming changes. 3rd party module config scripts are called with ngx_module_link preset to "ADDON" - this allows config scripts to call auto/module without ngx_module_link explicitly defined, as well as testing if new interface is in place if compatibility with older nginx versions is desired. In collaboration with Ruslan Ermilov.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 04 Feb 2016 18:30:21 +0300
parents
children 85dea406e18f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6382
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2 # Copyright (C) Ruslan Ermilov
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # Copyright (C) Nginx, Inc.
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 case $ngx_module_type in
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 HTTP_*) ngx_var=HTTP ;;
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 *) ngx_var=$ngx_module_type ;;
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 esac
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 if [ "$ngx_module_link" = YES ]; then
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15 $ngx_module_name\"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 eval ${ngx_var}_SRCS=\"\$${ngx_var}_SRCS $ngx_module_srcs\"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 if test -n "$ngx_module_incs"; then
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20 eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 fi
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23 if test -n "$ngx_module_deps"; then
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 eval ${ngx_var}_DEPS=\"\$${ngx_var}_DEPS $ngx_module_deps\"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25 fi
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 for lib in $ngx_module_libs
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28 do
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29 case $lib in
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 PCRE | OPENSSL | MD5 | SHA1 | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 eval USE_${lib}=YES
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33 ;;
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 *)
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36 CORE_LIBS="$CORE_LIBS $lib"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 ;;
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 esac
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 done
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 elif [ "$ngx_module_link" = ADDON ]; then
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 $ngx_module_name\"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_module_srcs"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 if test -n "$ngx_module_incs"; then
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51 fi
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 if test -n "$ngx_module_deps"; then
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54 NGX_ADDON_DEPS="$NGX_ADDON_DEPS $ngx_module_deps"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 fi
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 for lib in $ngx_module_libs
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58 do
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 case $lib in
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 PCRE | OPENSSL | MD5 | SHA1 | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62 eval USE_${lib}=YES
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63 ;;
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65 *)
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 CORE_LIBS="$CORE_LIBS $lib"
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
67 ;;
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 esac
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
70 done
392959224560 Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71 fi