bpo-46023: makesetup: skip all duplicate modules (GH-32234)

This commit is contained in:
Christian Heimes 2022-04-01 18:23:12 +03:00 committed by GitHub
parent 079143df7e
commit abdd69c95c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 6 deletions

View File

@ -0,0 +1,2 @@
``makesetup`` now detects and skips all duplicated module definitions. The
first entry wins.

View File

@ -117,6 +117,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
BUILT=
BUILT_SHARED=
DISABLED=
CONFIGURED=
MODS=
SHAREDMODS=
OBJS=
@ -206,12 +207,17 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
cpps="\$(MODULE_${mods_upper}_CFLAGS)"
libs="\$(MODULE_${mods_upper}_LDFLAGS)"
fi
case $DISABLED in
*$mods*)
# disabled by previous rule / Setup file
continue
;;
esac
for mod in $mods
do
case $CONFIGURED in
*,${mod},*)
# Detected multiple rules for a module, first rule wins. This
# allows users to disable modules in Setup.local.
echo 1>&2 "maksetup: '$mod' was handled by previous rule."
continue 2;;
esac
CONFIGURED="$CONFIGURED,${mod},"
done
case $doconfig in
yes)
LIBS="$LIBS $libs"