Configure perf build system to utilize the libasm feature check (supporting both static and dynamic builds) and export the config flags. Add "libasm" capability detection to perf check. Assisted-by: Antigravity:Google Gemini 3.5-flash Signed-off-by: Ian Rogers --- tools/perf/Makefile.config | 22 ++++++++++++++++++++++ tools/perf/builtin-check.c | 1 + 2 files changed, 23 insertions(+) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 6e7b15fab2ec..632cb069c944 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -199,6 +199,13 @@ endif FEATURE_CHECK_CFLAGS-libcapstone := $(LIBCAPSTONE_CFLAGS) FEATURE_CHECK_LDFLAGS-libcapstone := $(LIBCAPSTONE_LDFLAGS) -lcapstone +ifdef LIBASM_DIR + LIBASM_CFLAGS := -I$(LIBASM_DIR)/include + LIBASM_LDFLAGS := -L$(LIBASM_DIR)/lib +endif +FEATURE_CHECK_CFLAGS-libasm := $(LIBASM_CFLAGS) +FEATURE_CHECK_LDFLAGS-libasm := $(LIBASM_LDFLAGS) -lasm -ldw -lelf + ifdef LIBZSTD_DIR LIBZSTD_CFLAGS := -I$(LIBZSTD_DIR)/lib LIBZSTD_LDFLAGS := -L$(LIBZSTD_DIR)/lib @@ -432,6 +439,7 @@ ifeq ($(feature-file-handle), 1) endif ifdef NO_LIBELF + NO_LIBASM := 1 NO_LIBDW := 1 NO_LIBUNWIND := 1 NO_LIBBPF := 1 @@ -1060,6 +1068,20 @@ ifndef NO_CAPSTONE endif endif +ifdef NO_LIBDW + NO_LIBASM := 1 +endif + +ifndef NO_LIBASM + $(call feature_check,libasm) + ifeq ($(feature-libasm), 1) + CFLAGS += -DHAVE_LIBASM_SUPPORT $(LIBASM_CFLAGS) + LDFLAGS += $(LIBASM_LDFLAGS) + EXTLIBS += -lasm -ldw -lelf + $(call detected,CONFIG_LIBASM) + endif +endif + ifdef EXTRA_TESTS $(call detected,CONFIG_EXTRA_TESTS) CFLAGS += -DHAVE_EXTRA_TESTS diff --git a/tools/perf/builtin-check.c b/tools/perf/builtin-check.c index 60437650c50f..d2ffea4d9b8b 100644 --- a/tools/perf/builtin-check.c +++ b/tools/perf/builtin-check.c @@ -46,6 +46,7 @@ struct feature_status supported_features[] = { FEATURE_STATUS("babeltrace2-ctf-writer", HAVE_BABELTRACE2_CTF_WRITER_SUPPORT), FEATURE_STATUS("libbpf-strings", HAVE_LIBBPF_STRINGS_SUPPORT), FEATURE_STATUS("libcapstone", HAVE_LIBCAPSTONE_SUPPORT), + FEATURE_STATUS("libasm", HAVE_LIBASM_SUPPORT), FEATURE_STATUS("libdw-dwarf-unwind", HAVE_LIBDW_SUPPORT), FEATURE_STATUS("libelf", HAVE_LIBELF_SUPPORT), FEATURE_STATUS("libLLVM", HAVE_LIBLLVM_SUPPORT), -- 2.54.0.1099.g489fc7bff1-goog