summaryrefslogtreecommitdiffstats
path: root/Modules/makesetup
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2021-10-25 18:01:03 (GMT)
committerGitHub <noreply@github.com>2021-10-25 18:01:03 (GMT)
commit81669d1b7bd668d1bd0fab92836e8b5e7976e362 (patch)
tree1b684a0ded5d348b4b869f6c87eed68858a6460e /Modules/makesetup
parent77e3f224d6ae6d38e5fc899fb5eaadf2b7c255a1 (diff)
downloadcpython-81669d1b7bd668d1bd0fab92836e8b5e7976e362.zip
cpython-81669d1b7bd668d1bd0fab92836e8b5e7976e362.tar.gz
cpython-81669d1b7bd668d1bd0fab92836e8b5e7976e362.tar.bz2
bpo-45595: Make extensions depend on header files (GH-29198)
``setup.py`` and ``makesetup`` now track build dependencies on all Python header files and module specific header files. Signed-off-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'Modules/makesetup')
-rwxr-xr-xModules/makesetup5
1 files changed, 3 insertions, 2 deletions
diff --git a/Modules/makesetup b/Modules/makesetup
index 1a76783..849f15f 100755
--- a/Modules/makesetup
+++ b/Modules/makesetup
@@ -235,7 +235,8 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
*)
cc="$cc \$(PY_BUILTIN_MODULE_CFLAGS)";;
esac
- rule="$obj: $src; $cc $cpps -c $src -o $obj"
+ mods_upper=$(echo $mods | tr '[a-z]' '[A-Z]')
+ rule="$obj: $src \$(MODULE_${mods_upper}_DEPS) \$(PYTHON_HEADERS); $cc $cpps -c \$< -o \$@"
echo "$rule" >>$rulesf
done
case $doconfig in
@@ -248,7 +249,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
no) SHAREDMODS="$SHAREDMODS $file";;
esac
rule="$file: $objs"
- rule="$rule; \$(BLDSHARED) $objs $libs $ExtraLibs -o $file"
+ rule="$rule; \$(BLDSHARED) $objs $libs $ExtraLibs -o \$@"
echo "$rule" >>$rulesf
done
done