summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2022-11-16 13:03:35 (GMT)
committerGitHub <noreply@github.com>2022-11-16 13:03:35 (GMT)
commit33f42c269f1a80abba969b638a05a63fe2aeb0a4 (patch)
treed8a523ea8488db42a746ce74241295e30cb61aec
parent3ed8803ef59f80e03c40b100b04c2e13f138ceed (diff)
downloadcpython-33f42c269f1a80abba969b638a05a63fe2aeb0a4.zip
cpython-33f42c269f1a80abba969b638a05a63fe2aeb0a4.tar.gz
cpython-33f42c269f1a80abba969b638a05a63fe2aeb0a4.tar.bz2
gh-96269: static and shared ext need different deps (#96316)
-rw-r--r--Makefile.pre.in4
-rwxr-xr-xModules/makesetup11
2 files changed, 10 insertions, 5 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 90f5dd7..e1910f6 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -2572,7 +2572,9 @@ Python/thread.o: @THREADHEADERS@ $(srcdir)/Python/condvar.h
##########################################################################
# 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_MATH_DEPS=$(srcdir)/Modules/_math.h
diff --git a/Modules/makesetup b/Modules/makesetup
index 5c275ac..f000c9c 100755
--- a/Modules/makesetup
+++ b/Modules/makesetup
@@ -262,12 +262,15 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
esac
# custom flags first, PY_STDMODULE_CFLAGS may contain -I with system libmpdec
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
- # 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
done
case $doconfig in