Mailing List Archive

bpo-45886: Fix OOT build when srcdir has frozen module headers (GH-29793)
https://github.com/python/cpython/commit/765b2a3ad2e8abf9a06d5e9b3802b575ec115d76
commit: 765b2a3ad2e8abf9a06d5e9b3802b575ec115d76
branch: main
author: Christian Heimes <christian@python.org>
committer: tiran <christian@python.org>
date: 2021-11-26T17:05:16+01:00
summary:

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.

files:
M .gitignore
M Makefile.pre.in

diff --git a/.gitignore b/.gitignore
index cfd3163cd1818..0363244bdaf63 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 75d3bce946f42..fc8ab99babcdb 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

_______________________________________________
Python-checkins mailing list
Python-checkins@python.org
https://mail.python.org/mailman/listinfo/python-checkins