diff options
author | Christian Heimes <christian@python.org> | 2022-11-16 13:03:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-16 13:03:35 (GMT) |
commit | 33f42c269f1a80abba969b638a05a63fe2aeb0a4 (patch) | |
tree | d8a523ea8488db42a746ce74241295e30cb61aec | |
parent | 3ed8803ef59f80e03c40b100b04c2e13f138ceed (diff) | |
download | cpython-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.in | 4 | ||||
-rwxr-xr-x | Modules/makesetup | 11 |
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 |