summaryrefslogtreecommitdiffstats
path: root/Makefile.pre.in
diff options
context:
space:
mode:
authorEthan Smith <ethan@ethanhs.me>2022-04-28 12:14:19 (GMT)
committerGitHub <noreply@github.com>2022-04-28 12:14:19 (GMT)
commitd1de10784d9678d14759d0d03216431d1090e60e (patch)
tree41a6ed1074400ac9a2cf54eb60334425d603db5c /Makefile.pre.in
parent87c6cf9aa7cebac3c544067e690c2ad7ce18b772 (diff)
downloadcpython-d1de10784d9678d14759d0d03216431d1090e60e.zip
cpython-d1de10784d9678d14759d0d03216431d1090e60e.tar.gz
cpython-d1de10784d9678d14759d0d03216431d1090e60e.tar.bz2
gh-84461: Add HOSTRUNNER for program to run Python executable (GH-91931)
`HOSTRUNNER` is a program which can be used to run `BUILDPYTHON` for the host platform (for example, `python.js` requires `node`). Also change depedencies from `build_all` to `all` so that targets which can't build everything (e.g. WASM) can still run `buildbottest` and `pythoninfo`. cc @tiran
Diffstat (limited to 'Makefile.pre.in')
-rw-r--r--Makefile.pre.in20
1 files changed, 11 insertions, 9 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in
index f3bccf4..c12305a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -285,6 +285,8 @@ LIBOBJS= @LIBOBJS@
PYTHON= python$(EXE)
BUILDPYTHON= python$(BUILDEXE)
+HOSTRUNNER= @HOSTRUNNER@
+
PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@
UPDATE_FILE=$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/update_file.py
PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
@@ -1350,7 +1352,7 @@ regen-keyword:
$(UPDATE_FILE) $(srcdir)/Lib/keyword.py $(srcdir)/Lib/keyword.py.new
.PHONY: regen-stdlib-module-names
-regen-stdlib-module-names: build_all Programs/_testembed
+regen-stdlib-module-names: all Programs/_testembed
# Regenerate Python/stdlib_module_names.h
# using Tools/scripts/generate_stdlib_module_names.py
$(RUNSHARED) ./$(BUILDPYTHON) \
@@ -1648,7 +1650,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Programs/python.o: $(PYTHON_HEADERS)
######################################################################
TESTOPTS= $(EXTRATESTOPTS)
-TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) $(TESTPYTHONOPTS)
+TESTPYTHON= $(RUNSHARED) $(PYTHON_FOR_BUILD) $(TESTPYTHONOPTS)
TESTRUNNER= $(TESTPYTHON) $(srcdir)/Tools/scripts/run_tests.py
TESTTIMEOUT= 1200
@@ -1656,7 +1658,7 @@ TESTTIMEOUT= 1200
# Remove "test_python_*" directories of previous failed test jobs.
# Pass TESTOPTS options because it can contain --tempdir option.
-cleantest: build_all
+cleantest: all
$(TESTRUNNER) $(TESTOPTS) --cleanup
# Run a basic set of regression tests.
@@ -1691,14 +1693,14 @@ testuniversal: @DEF_MAKE_RULE@ platform
# Like testall, but with only one pass and without multiple processes.
# Run an optional script to include information about the build environment.
-buildbottest: build_all platform
+buildbottest: all platform
-@if which pybuildbot.identify >/dev/null 2>&1; then \
pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \
fi
$(TESTRUNNER) -j 1 -u all -W --slowest --fail-env-changed --timeout=$(TESTTIMEOUT) $(TESTOPTS)
-pythoninfo: build_all
- $(RUNSHARED) ./$(BUILDPYTHON) -m test.pythoninfo
+pythoninfo: all
+ $(RUNSHARED) $(HOSTRUNNER) ./$(BUILDPYTHON) -m test.pythoninfo
QUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \
test_multibytecodec test_urllib2_localnet test_itertools \
@@ -1711,10 +1713,10 @@ quicktest: @DEF_MAKE_RULE@ platform
# SSL tests
.PHONY: multisslcompile multissltest
-multisslcompile: build_all
+multisslcompile: all
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/ssl/multissltests.py --steps=modules
-multissltest: build_all
+multissltest: all
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/ssl/multissltests.py
install: @FRAMEWORKINSTALLFIRST@ commoninstall bininstall maninstall @FRAMEWORKINSTALLLAST@
@@ -1986,7 +1988,7 @@ TESTSUBDIRS= ctypes/test \
unittest/test unittest/test/testmock
TEST_MODULES=@TEST_MODULES@
-libinstall: build_all $(srcdir)/Modules/xxmodule.c
+libinstall: all $(srcdir)/Modules/xxmodule.c
@for i in $(SCRIPTDIR) $(LIBDEST); \
do \
if test ! -d $(DESTDIR)$$i; then \