Welcome! Log In Create A New Profile

Advanced

[nginx] Configure: shared sources for addon modules.

Maxim Dounin
November 10, 2020 10:52AM
details: https://hg.nginx.org/nginx/rev/4b1299b1856a
branches:
changeset: 7743:4b1299b1856a
user: Maxim Dounin <mdounin@mdounin.ru>
date: Tue Nov 10 17:13:20 2020 +0300
description:
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.

diffstat:

auto/make | 3 ++-
auto/module | 44 ++++++++++++++++++++++++++++++++++++++++++--
auto/options | 1 +
3 files changed, 45 insertions(+), 3 deletions(-)

diffs (99 lines):

diff -r 4a69fec53b2f -r 4b1299b1856a auto/make
--- a/auto/make Tue Nov 10 17:13:17 2020 +0300
+++ b/auto/make Tue Nov 10 17:13:20 2020 +0300
@@ -502,6 +502,7 @@ fi
for ngx_module in $DYNAMIC_MODULES
do
eval ngx_module_srcs="\$${ngx_module}_SRCS"
+ eval ngx_module_shrd="\$${ngx_module}_SHRD"
eval eval ngx_module_libs="\\\"\$${ngx_module}_LIBS\\\""

eval ngx_module_modules="\$${ngx_module}_MODULES"
@@ -567,7 +568,7 @@ END
| sed -e "s/\(.*\.\)c/\1$ngx_objext/"`

ngx_module_objs=
- for ngx_src in $ngx_module_srcs
+ for ngx_src in $ngx_module_srcs $ngx_module_shrd
do
case "$ngx_src" in
src/*)
diff -r 4a69fec53b2f -r 4b1299b1856a auto/module
--- a/auto/module Tue Nov 10 17:13:17 2020 +0300
+++ b/auto/module Tue Nov 10 17:13:20 2020 +0300
@@ -17,7 +17,6 @@ if [ "$ngx_module_link" = DYNAMIC ]; the
done

DYNAMIC_MODULES="$DYNAMIC_MODULES $ngx_module"
- eval ${ngx_module}_SRCS=\"$ngx_module_srcs\"

eval ${ngx_module}_MODULES=\"$ngx_module_name\"

@@ -31,6 +30,30 @@ if [ "$ngx_module_link" = DYNAMIC ]; the
eval ${ngx_module}_ORDER=\"$ngx_module_order\"
fi

+ srcs=
+ shrd=
+ for src in $ngx_module_srcs
+ do
+ found=no
+ for old in $DYNAMIC_MODULES_SRCS
+ do
+ if [ $src = $old ]; then
+ found=yes
+ break
+ fi
+ done
+
+ if [ $found = no ]; then
+ srcs="$srcs $src"
+ else
+ shrd="$shrd $src"
+ fi
+ done
+ eval ${ngx_module}_SRCS=\"$srcs\"
+ eval ${ngx_module}_SHRD=\"$shrd\"
+
+ DYNAMIC_MODULES_SRCS="$DYNAMIC_MODULES_SRCS $srcs"
+
if test -n "$ngx_module_incs"; then
CORE_INCS="$CORE_INCS $ngx_module_incs"
fi
@@ -107,7 +130,24 @@ elif [ "$ngx_module_link" = ADDON ]; the
eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \
$ngx_module_name\"

- NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_module_srcs"
+ srcs=
+ for src in $ngx_module_srcs
+ do
+ found=no
+ for old in $NGX_ADDON_SRCS
+ do
+ if [ $src = $old ]; then
+ found=yes
+ break
+ fi
+ done
+
+ if [ $found = no ]; then
+ srcs="$srcs $src"
+ fi
+ done
+
+ NGX_ADDON_SRCS="$NGX_ADDON_SRCS $srcs"

if test -n "$ngx_module_incs"; then
eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\"
diff -r 4a69fec53b2f -r 4b1299b1856a auto/options
--- a/auto/options Tue Nov 10 17:13:17 2020 +0300
+++ b/auto/options Tue Nov 10 17:13:20 2020 +0300
@@ -132,6 +132,7 @@ STREAM_UPSTREAM_ZONE=YES
STREAM_SSL_PREREAD=NO

DYNAMIC_MODULES=
+DYNAMIC_MODULES_SRCS=

NGX_ADDONS=
NGX_ADDON_SRCS=
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Configure: shared sources for addon modules.

Maxim Dounin 64 November 10, 2020 10:52AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 82
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready