[PATCH v5 0/6] perf: build: Fix cross compilation

From: Leo Yan
Date: Wed Jul 17 2024 - 04:23:07 EST


This patch series fixes cross compilation issues.

The first patch sets the package path if the package configuration path
is not specified. This helps the compiler to find the architecture's
package in a Multiarch system.

The patch 02 sets the Python configuration path and renames the .so to

The patches 03, 04 and 05 fix the static build failures.

The patch 06 adds document for how to cross compile.

Changes from v4:
- Polished patch 06 for removing redundant sentences.

Changes from v3:
- Added more completed comments and logs for PKG_CONFIG_SYSROOT_DIR.
(Namhyung)
- Didn't include the patch 07 for "perf docs: Remove the Android cross
building document" in this version, which will be sent out separately.
(Namhyung/James)

Changes from v2:
- Reordered lib paths for PKG_CONFIG_LIBDIR. (Namhyung)
- Verified the Android NDK and based on the testing result to remove the
file android.txt. (Ian)

Changes from v1:
- Kept the cross-compile-pkg-config if it is available. (Namhyung)
- Removed the patch 02 for fixing pkg-config path for libtraceevent, as
this will be resolved in Guilherme Amadio's patch "perf build: Use
pkg-config for feature check for libtrace{event,fs}".
- Added patch 06 for document.


Leo Yan (6):
perf: build: Setup PKG_CONFIG_LIBDIR for cross compilation
perf: build: Set Python configuration for cross compilation
perf: build: Only link libebl.a for old libdw
perf: build: Link lib 'lzma' for static build
perf: build: Link lib 'zstd' for static build
perf docs: Document cross compilation

tools/build/feature/Makefile | 53 ++++++++++++++++++++++++------
tools/perf/Documentation/Build.txt | 28 ++++++++++++++++
tools/perf/Makefile.config | 20 ++++++++++-
tools/perf/Makefile.perf | 27 ++++++++++++++-
4 files changed, 116 insertions(+), 12 deletions(-)

--
2.34.1