[PATCHES v1 0/7] perf build: Add target to install devel packages needed to build perf

From: Arnaldo Carvalho de Melo

Date: Sun Aug 09 2026 - 20:51:48 EST


Hi,

This series adds a 'make -C tools/perf install-build-deps' target that
installs the development packages needed to build perf on Fedora, Ubuntu,
Debian, and RHEL family distributions.

Building perf requires many devel packages (libelf, libdw, libunwind, numactl,
libtraceevent, libbpf, etc.). Today users must iteratively install packages
as each feature check fails. The new target installs the full set in one go.

The first patch adds the framework (make target, distro detection, package
manager drivers). The next four patches add distro-specific package mappings
derived from the headers each feature test requires. The last patch removes
leftover feature test entries for cxx and clang support removed in
56b11a2126bf2f42 ("perf bpf: Remove support for embedding clang for compiling
BPF events (-e foo.c)").

Supported distros (validated in containers, host never modified):
- Fedora 44 (dnf, 29 packages)
- Ubuntu 26.04 (apt, 29 packages)
- Debian 13 (apt, reuses Ubuntu mapping)
- CentOS 10 (dnf, 29 packages)

On all distros, a clean O= build after running the target enabled every
feature the distro provides (excluding deliberately unmapped deprecated
packages). Re-running the target is a no-op.

This series was developed with assistance from Opencode
(deepseek-v4-flash-free and glm-4-7-flash-ollama-local) for code
analysis, patch generation, and commit message composition.

Regards,

- Arnaldo

Arnaldo Carvalho de Melo (7):
tools build: Only probe the compiler at parse time when it is installed
perf build: Add install-build-deps framework to install devel packages
perf build: install-build-deps: add Fedora devel package mapping
perf build: install-build-deps: add Ubuntu devel package mapping
perf build: install-build-deps: add Debian devel package mapping
perf build: Remove leftover feature tests for removed cxx and clang support
perf build: install-build-deps: add RHEL family devel package mapping

tools/build/Makefile.feature | 2 -
tools/build/feature/Makefile | 14 -
tools/perf/Makefile.perf | 21 +-
tools/perf/scripts/install-build-deps.sh | 560 +++++++++++++++++++++++
tools/scripts/Makefile.arch | 2 +-
tools/scripts/Makefile.include | 2 +-
6 files changed, 580 insertions(+), 21 deletions(-)
create mode 100755 tools/perf/scripts/install-build-deps.sh