linux-stable/tools
James Clark fe4104304b perf tools: Use Python devtools for version autodetection rather than runtime
[ Upstream commit 630af16eee ]

This fixes the issue where the build will fail if only the Python2
runtime is installed but the Python3 devtools are installed. Currently
the workaround is 'make PYTHON=python3'.

Fix it by autodetecting Python based on whether python[x]-config exists
rather than just python[x] because both are needed for the build. Then
-config is stripped to find the Python runtime.

Testing
=======

 * Auto detect links with Python3 when the v3 devtools are installed
   and only Python 2 runtime is installed
 * Auto detect links with Python2 when both devtools are installed
 * Sensible warning is printed if no Python devtools are installed
 * 'make PYTHON=x' still automatically sets PYTHON_CONFIG=x-config
 * 'make PYTHON=x' fails if x-config doesn't exist
 * 'make PYTHON=python3' overrides Python2 devtools
 * 'make PYTHON=python2' overrides Python3 devtools
 * 'make PYTHON_CONFIG=x-config' works
 * 'make PYTHON=x PYTHON_CONFIG=x' works
 * 'make PYTHON=missing' reports an error
 * 'make PYTHON_CONFIG=missing' reports an error

Fixes: 79373082fa ("perf python: Autodetect python3 binary")
Signed-off-by: James Clark <james.clark@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20220309194313.3350126-2-james.clark@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-09 10:25:46 +02:00
..
accounting delayacct: track delays from memory compact 2022-01-20 08:52:55 +02:00
arch x86/tsx: Disable TSX development mode at boot 2022-04-20 09:36:26 +02:00
bootconfig
bpf bpftool: Fix print error when show bpf map 2022-04-08 13:58:22 +02:00
build perf build: Fix check for btf__load_from_kernel_by_id() in libbpf 2022-05-25 09:59:11 +02:00
cgroup tools/cgroup/slabinfo: update to work with struct slab 2022-02-21 11:34:49 +01:00
counter
debugging
edid
firewire
firmware
gpio
hv
iio iio: event_monitor: Flush output on event 2021-12-16 12:20:35 +00:00
include bpf: Fix comment for helper bpf_current_task_under_cgroup() 2022-04-08 13:59:00 +02:00
io_uring
kvm/kvm_stat
laptop
leds
lib libbpf: Fix logic for finding matching program for CO-RE relocation 2022-06-09 10:25:44 +02:00
memory-model tools/memory-model/README: Update klitmus7 compat table 2022-06-06 08:47:53 +02:00
objtool objtool: Fix type of reloc::addend 2022-05-09 09:16:33 +02:00
pci
pcmcia
perf perf tools: Use Python devtools for version autodetection rather than runtime 2022-06-09 10:25:46 +02:00
power tools/power turbostat: fix ICX DRAM power numbers 2022-06-09 10:25:20 +02:00
rcu
scripts tools: Ignore errors from `which' when searching a GCC toolchain 2022-02-01 23:04:12 +01:00
spi
testing selftests/resctrl: Fix null pointer dereference on open failed 2022-06-09 10:25:44 +02:00
thermal/tmon
time
tracing rtla/osnoise: Fix osnoise hist stop tracing message 2022-04-08 13:57:53 +02:00
usb
virtio tools/virtio: compile with -pthread 2022-05-25 09:59:00 +02:00
vm
wmi
Makefile