The PMU events are processed into C sources by Python scripts, which normally results in writing bytecode for each module into the source tree. This prevents a fully out-of-tree build.
To fix this, set $PYTHONPYCACHEPREFIX to relocate the bytecode cache directory in an out-of-tree build. Signed-off-by: Ben Hutchings <[email protected]> --- tools/perf/Makefile.perf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 899a4249a42f..c35b65f9fdda 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -400,6 +400,11 @@ PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/ PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/ export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP +# Put Python bytecode in output directory +ifdef OUTPUT +export PYTHONPYCACHEPREFIX := $(OUTPUT)/__pycache__ +endif + python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT)python/perf*.so # Use the detected configuration
signature.asc
Description: PGP signature
