diff options
author | Ethan Smith <ethan@ethanhs.me> | 2022-04-28 12:14:19 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-28 12:14:19 (GMT) |
commit | d1de10784d9678d14759d0d03216431d1090e60e (patch) | |
tree | 41a6ed1074400ac9a2cf54eb60334425d603db5c /Makefile.pre.in | |
parent | 87c6cf9aa7cebac3c544067e690c2ad7ce18b772 (diff) | |
download | cpython-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.in | 20 |
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 \ |