From 512dbf6f56364d359e16988b3fd7e766edfaebf9 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 22 Nov 2021 11:50:53 +0200 Subject: [PATCH] Fix out-of-tree build support for multissltest (GH-29694) --- Makefile.pre.in | 4 ++-- Tools/ssl/multissltests.py | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index fc4def8f5d1..d52f7362079 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1709,10 +1709,10 @@ quicktest: @DEF_MAKE_RULE@ platform # SSL tests .PHONY: multisslcompile multissltest multisslcompile: build_all - $(RUNSHARED) ./$(BUILDPYTHON) Tools/ssl/multissltests.py --steps=modules + $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/ssl/multissltests.py --steps=modules multissltest: build_all - $(RUNSHARED) ./$(BUILDPYTHON) Tools/ssl/multissltests.py + $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/ssl/multissltests.py install: @FRAMEWORKINSTALLFIRST@ commoninstall bininstall maninstall @FRAMEWORKINSTALLLAST@ if test "x$(ENSUREPIP)" != "xno" ; then \ diff --git a/Tools/ssl/multissltests.py b/Tools/ssl/multissltests.py index 7bdfd0b92ba..ba2663e9a39 100755 --- a/Tools/ssl/multissltests.py +++ b/Tools/ssl/multissltests.py @@ -153,8 +153,10 @@ class AbstractBuilder(object): install_target = 'install' jobs = os.cpu_count() - module_files = ("Modules/_ssl.c", - "Modules/_hashopenssl.c") + module_files = ( + os.path.join(PYTHONROOT, "Modules/_ssl.c"), + os.path.join(PYTHONROOT, "Modules/_hashopenssl.c"), + ) module_libs = ("_ssl", "_hashlib") def __init__(self, version, args): @@ -357,7 +359,7 @@ def recompile_pymods(self): env["LD_RUN_PATH"] = self.lib_dir log.info("Rebuilding Python modules") - cmd = [sys.executable, "setup.py", "build"] + cmd = [sys.executable, os.path.join(PYTHONROOT, "setup.py"), "build"] self._subprocess_call(cmd, env=env) self.check_imports() @@ -372,7 +374,11 @@ def check_pyssl(self): def run_python_tests(self, tests, network=True): if not tests: - cmd = [sys.executable, 'Lib/test/ssltests.py', '-j0'] + cmd = [ + sys.executable, + os.path.join(PYTHONROOT, 'Lib/test/ssltests.py'), + '-j0' + ] elif sys.version_info < (3, 3): cmd = [sys.executable, '-m', 'test.regrtest'] else: