Skip to content

Commit abdd69c

Browse files
authored
bpo-46023: makesetup: skip all duplicate modules (GH-32234)
1 parent 079143d commit abdd69c

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
``makesetup`` now detects and skips all duplicated module definitions. The
2+
first entry wins.

Modules/makesetup

+12-6
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
117117
BUILT=
118118
BUILT_SHARED=
119119
DISABLED=
120+
CONFIGURED=
120121
MODS=
121122
SHAREDMODS=
122123
OBJS=
@@ -206,12 +207,17 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
206207
cpps="\$(MODULE_${mods_upper}_CFLAGS)"
207208
libs="\$(MODULE_${mods_upper}_LDFLAGS)"
208209
fi
209-
case $DISABLED in
210-
*$mods*)
211-
# disabled by previous rule / Setup file
212-
continue
213-
;;
214-
esac
210+
for mod in $mods
211+
do
212+
case $CONFIGURED in
213+
*,${mod},*)
214+
# Detected multiple rules for a module, first rule wins. This
215+
# allows users to disable modules in Setup.local.
216+
echo 1>&2 "maksetup: '$mod' was handled by previous rule."
217+
continue 2;;
218+
esac
219+
CONFIGURED="$CONFIGURED,${mod},"
220+
done
215221
case $doconfig in
216222
yes)
217223
LIBS="$LIBS $libs"

0 commit comments

Comments
 (0)