gh-96269: static and shared ext need different deps (#96316)

This commit is contained in:
Christian Heimes 2022-11-16 14:03:35 +01:00 committed by GitHub
parent 3ed8803ef5
commit 33f42c269f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 5 deletions

View File

@ -2572,7 +2572,9 @@ Python/thread.o: @THREADHEADERS@ $(srcdir)/Python/condvar.h
########################################################################## ##########################################################################
# Module dependencies and platform-specific files # Module dependencies and platform-specific files
MODULE_DEPS=$(PYTHON_HEADERS) Modules/config.c $(EXPORTSYMS) # force rebuild when header file or module build flavor (static/shared) is changed
MODULE_DEPS_STATIC=Modules/config.c
MODULE_DEPS_SHARED=$(MODULE_DEPS_STATIC) $(EXPORTSYMS)
MODULE_CMATH_DEPS=$(srcdir)/Modules/_math.h MODULE_CMATH_DEPS=$(srcdir)/Modules/_math.h
MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h

View File

@ -262,12 +262,15 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
esac esac
# custom flags first, PY_STDMODULE_CFLAGS may contain -I with system libmpdec # custom flags first, PY_STDMODULE_CFLAGS may contain -I with system libmpdec
case $doconfig in case $doconfig in
no) cc="$cc $cpps \$(PY_STDMODULE_CFLAGS) \$(CCSHARED)";; no)
cc="$cc $cpps \$(PY_STDMODULE_CFLAGS) \$(CCSHARED)"
rule="$obj: $src \$(MODULE_${mods_upper}_DEPS) \$(MODULE_DEPS_SHARED) \$(PYTHON_HEADERS); $cc -c $src -o $obj"
;;
*) *)
cc="$cc $cpps \$(PY_BUILTIN_MODULE_CFLAGS)";; cc="$cc $cpps \$(PY_BUILTIN_MODULE_CFLAGS)"
rule="$obj: $src \$(MODULE_${mods_upper}_DEPS) \$(MODULE_DEPS_STATIC) \$(PYTHON_HEADERS); $cc -c $src -o $obj"
;;
esac esac
# force rebuild when header file or module build flavor (static/shared) is changed
rule="$obj: $src \$(MODULE_${mods_upper}_DEPS) \$(MODULE_DEPS); $cc -c $src -o $obj"
echo "$rule" >>$rulesf echo "$rule" >>$rulesf
done done
case $doconfig in case $doconfig in