Skip to content

Commit b5ee794

Browse files
authored
bpo-45548: makesetup improvements (GH-29225)
* record which modules are build as shared extensions * put object files in same directory as source files * remove dependency on deleted _math.c Signed-off-by: Christian Heimes <christian@python.org>
1 parent 6afb285 commit b5ee794

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

Makefile.pre.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
# === Variables set by makesetup ===
2222

2323
MODBUILT_NAMES= _MODBUILT_NAMES_
24+
MODSHARED_NAMES= _MODSHARED_NAMES_
2425
MODDISABLED_NAMES= _MODDISABLED_NAMES_
2526
MODOBJS= _MODOBJS_
2627
MODLIBS= _MODLIBS_
@@ -2120,8 +2121,8 @@ Python/thread.o: @THREADHEADERS@ $(srcdir)/Python/condvar.h
21202121
##########################################################################
21212122
# Module dependencies
21222123

2123-
MODULE_CMATH_DEPS=$(srcdir)/Modules/_math.h $(srcdir)/Modules/_math.c
2124-
MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h $(srcdir)/Modules/_math.c
2124+
MODULE_CMATH_DEPS=$(srcdir)/Modules/_math.h
2125+
MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h
21252126
MODULE_PYEXPAT_DEPS=$(srcdir)/Modules/expat/ascii.h $(srcdir)/Modules/expat/asciitab.h $(srcdir)/Modules/expat/expat.h $(srcdir)/Modules/expat/expat_config.h $(srcdir)/Modules/expat/expat_external.h $(srcdir)/Modules/expat/internal.h $(srcdir)/Modules/expat/latin1tab.h $(srcdir)/Modules/expat/utf8tab.h $(srcdir)/Modules/expat/xmlrole.h $(srcdir)/Modules/expat/xmltok.h $(srcdir)/Modules/expat/xmltok_impl.h
21262127
MODULE_UNICODEDATA_DEPS=$(srcdir)/Modules/unicodedata_db.h $(srcdir)/Modules/unicodename_db.h
21272128
MODULE__BLAKE2_DEPS=$(srcdir)/Modules/_blake2/impl/blake2-config.h $(srcdir)/Modules/_blake2/impl/blake2-dispatch.c $(srcdir)/Modules/_blake2/impl/blake2-impl.h $(srcdir)/Modules/_blake2/impl/blake2-kat.h $(srcdir)/Modules/_blake2/impl/blake2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2b-ref.c $(srcdir)/Modules/_blake2/impl/blake2b-round.h $(srcdir)/Modules/_blake2/impl/blake2b-test.c $(srcdir)/Modules/_blake2/impl/blake2b.c $(srcdir)/Modules/_blake2/impl/blake2bp-test.c $(srcdir)/Modules/_blake2/impl/blake2bp.c $(srcdir)/Modules/_blake2/impl/blake2s-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2s-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2s-load-xop.h $(srcdir)/Modules/_blake2/impl/blake2s-ref.c $(srcdir)/Modules/_blake2/impl/blake2s-round.h $(srcdir)/Modules/_blake2/impl/blake2s-test.c $(srcdir)/Modules/_blake2/impl/blake2s.c $(srcdir)/Modules/_blake2/impl/blake2sp-test.c $(srcdir)/Modules/_blake2/impl/blake2sp.c $(srcdir)/Modules/hashlib.h

Modules/makesetup

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
# - insert an identifying comment at the start
3232
# - replace _MODBUILT_NAMES_ by the list of *static* and *shared* modules
3333
# from Setup
34+
# - replace _MODBSHARED_NAMES_ by the list of *shared* modules from Setup
3435
# - replace _MODDISABLED_NAMES_ by the list of *disabled* modules from Setup
3536
# - replace _MODOBJS_ by the list of objects from Setup (except for
3637
# Setup files after a -n option)
@@ -114,6 +115,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
114115
" >$rulesf
115116
DEFS=
116117
BUILT=
118+
BUILT_SHARED=
117119
DISABLED=
118120
MODS=
119121
SHAREDMODS=
@@ -222,7 +224,10 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
222224
*.m) obj=`basename $src .m`.o; cc='$(CC)';; # Obj-C
223225
*) continue;;
224226
esac
225-
obj="$srcdir/$obj"
227+
case $src in
228+
*/*) obj="$srcdir/`dirname $src`/$obj";;
229+
*) obj="$srcdir/$obj";;
230+
esac
226231
objs="$objs $obj"
227232
case $src in
228233
glmodule.c) ;;
@@ -246,7 +251,10 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
246251
do
247252
file="$srcdir/$mod\$(EXT_SUFFIX)"
248253
case $doconfig in
249-
no) SHAREDMODS="$SHAREDMODS $file";;
254+
no)
255+
SHAREDMODS="$SHAREDMODS $file"
256+
BUILT_SHARED="$BUILT_SHARED $mod"
257+
;;
250258
esac
251259
rule="$file: $objs"
252260
rule="$rule; \$(BLDSHARED) $objs $libs $ExtraLibs -o $file"
@@ -296,6 +304,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
296304
str="# Generated automatically from $makepre by makesetup."
297305
echo "$str" >>$sedf
298306
echo "s%_MODBUILT_NAMES_%$BUILT%" >>$sedf
307+
echo "s%_MODSHARED_NAMES_%$BUILT_SHARED%" >>$sedf
299308
echo "s%_MODDISABLED_NAMES_%$DISABLED%" >>$sedf
300309
echo "s%_MODOBJS_%$OBJS%" >>$sedf
301310
echo "s%_MODLIBS_%$LIBS%" >>$sedf

0 commit comments

Comments
 (0)