[2.7] bpo-31934: Abort when building out of a not clean source tree (GH-4255). (#4342)

(cherry picked from commit 0de92859ca)
This commit is contained in:
xdegaye
2017-11-08 17:10:16 +01:00
committed by GitHub
parent 849482955f
commit fbdd3eeba3
2 changed files with 13 additions and 3 deletions

View File

@@ -401,7 +401,16 @@ LIBRARY_OBJS= \
# Default target
all: @DEF_MAKE_ALL_RULE@
build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
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)/Modules/python.o"; 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" ; \
exit 1; \
fi
# Compile a binary with profile guided optimization.
profile-opt:
@@ -928,7 +937,7 @@ altinstall: commoninstall
$$ensurepip --root=$(DESTDIR)/ ; \
fi
commoninstall: @FRAMEWORKALTINSTALLFIRST@ \
commoninstall: check-clean-src @FRAMEWORKALTINSTALLFIRST@ \
altbininstall libinstall inclinstall libainstall \
sharedinstall oldsharedinstall altmaninstall \
@FRAMEWORKALTINSTALLLAST@
@@ -1472,7 +1481,7 @@ patchcheck:
Python/thread.o: @THREADHEADERS@
# Declare targets that aren't real files
.PHONY: all build_all sharedmods oldsharedmods test quicktest memtest
.PHONY: all build_all sharedmods check-clean-src oldsharedmods test quicktest memtest
.PHONY: install altinstall oldsharedinstall bininstall altbininstall
.PHONY: maninstall libinstall inclinstall libainstall sharedinstall
.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure

View File

@@ -0,0 +1 @@
Abort the build when building out of a not clean source tree.