summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortorsava <torsava@redhat.com>2017-05-05 15:35:50 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2017-05-05 15:35:50 (GMT)
commita1054c3b0037d4c2a5492e79fc193f36245366c7 (patch)
treeb8c35a169117004996d98ca1fe6aaec5efa363ca
parentc07b3a15be5e0a68a73b4c532861ed8de6932bd2 (diff)
downloadcpython-a1054c3b0037d4c2a5492e79fc193f36245366c7.zip
cpython-a1054c3b0037d4c2a5492e79fc193f36245366c7.tar.gz
cpython-a1054c3b0037d4c2a5492e79fc193f36245366c7.tar.bz2
bpo-29243: Fix Makefile with respect to --enable-optimizations (#1478)
* bpo-29243: Fix Makefile with respect to --enable-optimizations When using the Profile Guided Optimization (./configure --enable-optimizations) Python is built not only during `make` but rebuilt again during `make test`, `make install` and others. This patch fixes the issue. Note that this fix produces no change at all in the Makefile if configure is run witout --enable-optimizations. * !squash
-rw-r--r--Makefile.pre.in14
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS4
3 files changed, 12 insertions, 7 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 12593a2..c40a198 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -999,7 +999,7 @@ TESTTIMEOUT= 1200
# Run a basic set of regression tests.
# This excludes some tests that are particularly resource-intensive.
-test: all platform
+test: @DEF_MAKE_RULE@ platform
$(TESTRUNNER) $(TESTOPTS)
# Run the full test suite twice - once without .pyc files, and once with.
@@ -1009,7 +1009,7 @@ test: all platform
# the bytecode read from a .pyc file had the bug, sometimes the directly
# generated bytecode. This is sometimes a very shy bug needing a lot of
# sample data.
-testall: all platform
+testall: @DEF_MAKE_RULE@ platform
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
$(TESTPYTHON) -E $(srcdir)/Lib/compileall.py
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
@@ -1018,7 +1018,7 @@ testall: all platform
# Run the test suite for both architectures in a Universal build on OSX.
# Must be run on an Intel box.
-testuniversal: all platform
+testuniversal: @DEF_MAKE_RULE@ platform
@if [ `arch` != 'i386' ]; then \
echo "This can only be used on OSX/i386" ;\
exit 1 ;\
@@ -1041,7 +1041,7 @@ QUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \
test_multiprocessing_forkserver \
test_mailbox test_socket test_poll \
test_select test_zipfile test_concurrent_futures
-quicktest: all platform
+quicktest: @DEF_MAKE_RULE@ platform
$(TESTRUNNER) $(QUICKTESTOPTS)
@@ -1378,7 +1378,7 @@ LIBPL= @LIBPL@
# pkgconfig directory
LIBPC= $(LIBDIR)/pkgconfig
-libainstall: all python-config
+libainstall: @DEF_MAKE_RULE@ python-config
@for i in $(LIBDIR) $(LIBPL) $(LIBPC); \
do \
if test ! -d $(DESTDIR)$$i; then \
@@ -1640,7 +1640,7 @@ distclean: clobber
-exec rm -f {} ';'
# Check for smelly exported symbols (not starting with Py/_Py)
-smelly: all
+smelly: @DEF_MAKE_RULE@
nm -p $(LIBRARY) | \
sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \
@@ -1677,7 +1677,7 @@ funny:
-o -print
# Perform some verification checks on any modified files.
-patchcheck: all
+patchcheck: @DEF_MAKE_RULE@
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
# Dependencies
diff --git a/Misc/ACKS b/Misc/ACKS
index fb62b5b..6f80ab7 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1120,6 +1120,7 @@ Bastien Orivel
Douglas Orr
William Orr
Michele Orrù
+Tomáš Orsava
Oleg Oshmyan
Denis S. Otkidach
Peter Otten
diff --git a/Misc/NEWS b/Misc/NEWS
index 4500021..25619ef 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1037,6 +1037,10 @@ Documentation
Build
-----
+- bpo-29243: Prevent unnecessary rebuilding of Python during ``make test``,
+ ``make install`` and some other make targets when configured with
+ ``--enable-optimizations``.
+
- bpo-23404: Don't regenerate generated files based on file modification time
anymore: the action is now explicit. Replace ``make touch`` with
``make regen-all``.