From 765b2a3ad2e8abf9a06d5e9b3802b575ec115d76 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 26 Nov 2021 18:05:16 +0200 Subject: bpo-45886: Fix OOT build when srcdir has frozen module headers (GH-29793) The presence of frozen module headers in srcdir interfers with OOT build. Make considers headers in srcdir up to date, but later builds do not use VPATH to locate files. make clean now removes the headers, too. Also remove stale ``_bootstrap_python`` from .gitignore. --- .gitignore | 1 - Makefile.pre.in | 9 ++++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index cfd3163..0363244 100644 --- a/.gitignore +++ b/.gitignore @@ -60,7 +60,6 @@ Lib/distutils/command/*.pdb Lib/lib2to3/*.pickle Lib/test/data/* !Lib/test/data/README -/_bootstrap_python /Makefile /Makefile.pre Mac/Makefile diff --git a/Makefile.pre.in b/Makefile.pre.in index 75d3bce..fc8ab99 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -587,7 +587,10 @@ build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks \ # Check that the source is clean when building out of source. check-clean-src: - @if test -n "$(VPATH)" -a -f "$(srcdir)/Programs/python.o"; then \ + @if test -n "$(VPATH)" -a \( \ + -f "$(srcdir)/Programs/python.o" \ + -o -f "$(srcdir)\Python/frozen_modules/importlib._bootstrap.h" \ + \); then \ echo "Error: The source directory ($(srcdir)) is not clean" ; \ echo "Building Python out of the source tree (in $(abs_builddir)) requires a clean source tree ($(abs_srcdir))" ; \ echo "Try to run: make -C \"$(srcdir)\" clean" ; \ @@ -2293,6 +2296,8 @@ clean-retain-profile: pycremoval -rm -f Lib/lib2to3/*Grammar*.pickle -rm -f Programs/_testembed Programs/_freeze_module -rm -f Python/deepfreeze/*.[co] + -rm -f Python/frozen_modules/*.h + -rm -f Python/frozen_modules/MANIFEST -find build -type f -a ! -name '*.gc??' -exec rm -f {} ';' -rm -f Include/pydtrace_probes.h -rm -f profile-gen-stamp @@ -2330,8 +2335,6 @@ distclean: clobber Modules/Setup.stdlib Modules/ld_so_aix Modules/python.exp Misc/python.pc \ Misc/python-embed.pc Misc/python-config.sh -rm -f python*-gdb.py - -rm -f Python/frozen_modules/*.h - -rm -f Python/frozen_modules/MANIFEST # Issue #28258: set LC_ALL to avoid issues with Estonian locale. # Expansion is performed here by shell (spawned by make) itself before # arguments are passed to find. So LC_ALL=C must be set as a separate -- cgit v0.12