comparison auto/module @ 7743:4b1299b1856a

Configure: shared sources for addon modules. Addon modules, both dynamic and static, can now use shared source files. Shared sources result in only one make rule even if specified several times in different modules.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 10 Nov 2020 17:13:20 +0300
parents 2c7a2d75938a
children
comparison
equal deleted inserted replaced
7742:4a69fec53b2f 7743:4b1299b1856a
15 # extract the first name 15 # extract the first name
16 break 16 break
17 done 17 done
18 18
19 DYNAMIC_MODULES="$DYNAMIC_MODULES $ngx_module" 19 DYNAMIC_MODULES="$DYNAMIC_MODULES $ngx_module"
20 eval ${ngx_module}_SRCS=\"$ngx_module_srcs\"
21 20
22 eval ${ngx_module}_MODULES=\"$ngx_module_name\" 21 eval ${ngx_module}_MODULES=\"$ngx_module_name\"
23 22
24 if [ -z "$ngx_module_order" -a \ 23 if [ -z "$ngx_module_order" -a \
25 \( "$ngx_module_type" = "HTTP_FILTER" \ 24 \( "$ngx_module_type" = "HTTP_FILTER" \
28 eval ${ngx_module}_ORDER=\"$ngx_module_name \ 27 eval ${ngx_module}_ORDER=\"$ngx_module_name \
29 ngx_http_copy_filter_module\" 28 ngx_http_copy_filter_module\"
30 else 29 else
31 eval ${ngx_module}_ORDER=\"$ngx_module_order\" 30 eval ${ngx_module}_ORDER=\"$ngx_module_order\"
32 fi 31 fi
32
33 srcs=
34 shrd=
35 for src in $ngx_module_srcs
36 do
37 found=no
38 for old in $DYNAMIC_MODULES_SRCS
39 do
40 if [ $src = $old ]; then
41 found=yes
42 break
43 fi
44 done
45
46 if [ $found = no ]; then
47 srcs="$srcs $src"
48 else
49 shrd="$shrd $src"
50 fi
51 done
52 eval ${ngx_module}_SRCS=\"$srcs\"
53 eval ${ngx_module}_SHRD=\"$shrd\"
54
55 DYNAMIC_MODULES_SRCS="$DYNAMIC_MODULES_SRCS $srcs"
33 56
34 if test -n "$ngx_module_incs"; then 57 if test -n "$ngx_module_incs"; then
35 CORE_INCS="$CORE_INCS $ngx_module_incs" 58 CORE_INCS="$CORE_INCS $ngx_module_incs"
36 fi 59 fi
37 60
105 elif [ "$ngx_module_link" = ADDON ]; then 128 elif [ "$ngx_module_link" = ADDON ]; then
106 129
107 eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \ 130 eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \
108 $ngx_module_name\" 131 $ngx_module_name\"
109 132
110 NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_module_srcs" 133 srcs=
134 for src in $ngx_module_srcs
135 do
136 found=no
137 for old in $NGX_ADDON_SRCS
138 do
139 if [ $src = $old ]; then
140 found=yes
141 break
142 fi
143 done
144
145 if [ $found = no ]; then
146 srcs="$srcs $src"
147 fi
148 done
149
150 NGX_ADDON_SRCS="$NGX_ADDON_SRCS $srcs"
111 151
112 if test -n "$ngx_module_incs"; then 152 if test -n "$ngx_module_incs"; then
113 eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\" 153 eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\"
114 fi 154 fi
115 155