Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

perf build: Use pkg-config for feature check for libtrace{event,fs}

Needed to add required include directories for the feature detection
to succeed. The header tracefs.h is installed either into the include
directory /usr/include/tracefs/tracefs.h when using the Makefile, or
into /usr/include/libtracefs/tracefs.h when using meson to build
libtracefs. The header tracefs.h uses #include <event-parse.h> from
libtraceevent, so pkg-config needs to pick the correct include directory
for libtracefs and add the one for libtraceevent to succeed.

Note that in baa2ca59ec1e31ccbe3f24ff0368152b36f68720 the variable
LIBTRACEEVENT_DIR was introduced, and now the method to compile against
non-standard locations requires PKG_CONFIG_PATH to be set instead, which
works for both libtraceevent and libtracefs.

Signed-off-by: Guilherme Amadio <amadio@gentoo.org>
Reviewed-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240606153625.2255470-2-amadio@gentoo.org

authored by

Guilherme Amadio and committed by
Namhyung Kim
0f0e1f44 5518063f

+14 -15
+1 -1
tools/build/feature/test-libtracefs.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 - #include <tracefs/tracefs.h> 2 + #include <tracefs.h> 3 3 4 4 int main(void) 5 5 {
+13 -14
tools/perf/Makefile.config
··· 183 183 FEATURE_CHECK_LDFLAGS-libzstd := $(LIBZSTD_LDFLAGS) 184 184 185 185 # for linking with debug library, run like: 186 - # make DEBUG=1 LIBTRACEEVENT_DIR=/opt/libtraceevent/ 187 - TRACEEVENTLIBS := -ltraceevent 188 - ifdef LIBTRACEEVENT_DIR 189 - LIBTRACEEVENT_CFLAGS := -I$(LIBTRACEEVENT_DIR)/include 190 - LIBTRACEEVENT_LDFLAGS := -L$(LIBTRACEEVENT_DIR)/lib 191 - endif 192 - FEATURE_CHECK_CFLAGS-libtraceevent := $(LIBTRACEEVENT_CFLAGS) 193 - FEATURE_CHECK_LDFLAGS-libtraceevent := $(LIBTRACEEVENT_LDFLAGS) $(TRACEEVENTLIBS) 186 + # make DEBUG=1 PKG_CONFIG_PATH=/opt/libtraceevent/(lib|lib64)/pkgconfig 187 + FEATURE_CHECK_CFLAGS-libtraceevent := $(shell $(PKG_CONFIG) --cflags libtraceevent) 188 + FEATURE_CHECK_LDFLAGS-libtraceevent := $(shell $(PKG_CONFIG) --libs libtraceevent) 189 + 190 + FEATURE_CHECK_CFLAGS-libtracefs := $(shell $(PKG_CONFIG) --cflags libtracefs) 191 + FEATURE_CHECK_LDFLAGS-libtracefs := $(shell $(PKG_CONFIG) --libs libtracefs) 194 192 195 193 FEATURE_CHECK_CFLAGS-bpf = -I. -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi -I$(srctree)/tools/include/uapi 196 194 # include ARCH specific config ··· 1176 1178 ifneq ($(NO_LIBTRACEEVENT),1) 1177 1179 $(call feature_check,libtraceevent) 1178 1180 ifeq ($(feature-libtraceevent), 1) 1179 - CFLAGS += -DHAVE_LIBTRACEEVENT $(LIBTRACEEVENT_CFLAGS) 1180 - LDFLAGS += $(LIBTRACEEVENT_LDFLAGS) 1181 - EXTLIBS += ${TRACEEVENTLIBS} 1182 - LIBTRACEEVENT_VERSION := $(shell PKG_CONFIG_PATH=$(LIBTRACEEVENT_DIR) $(PKG_CONFIG) --modversion libtraceevent) 1181 + CFLAGS += -DHAVE_LIBTRACEEVENT 1182 + LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L libtraceevent) 1183 + EXTLIBS += $(shell $(PKG_CONFIG) --libs-only-l libtraceevent) 1184 + LIBTRACEEVENT_VERSION := $(shell $(PKG_CONFIG) --modversion libtraceevent) 1183 1185 LIBTRACEEVENT_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEEVENT_VERSION))) 1184 1186 LIBTRACEEVENT_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEEVENT_VERSION))) 1185 1187 LIBTRACEEVENT_VERSION_3 := $(word 3, $(subst ., ,$(LIBTRACEEVENT_VERSION))) ··· 1192 1194 1193 1195 $(call feature_check,libtracefs) 1194 1196 ifeq ($(feature-libtracefs), 1) 1195 - EXTLIBS += -ltracefs 1197 + CFLAGS += $(shell $(PKG_CONFIG) --cflags libtracefs) 1198 + LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L libtracefs) 1199 + EXTLIBS += $(shell $(PKG_CONFIG) --libs-only-l libtracefs) 1196 1200 LIBTRACEFS_VERSION := $(shell $(PKG_CONFIG) --modversion libtracefs) 1197 1201 LIBTRACEFS_VERSION_1 := $(word 1, $(subst ., ,$(LIBTRACEFS_VERSION))) 1198 1202 LIBTRACEFS_VERSION_2 := $(word 2, $(subst ., ,$(LIBTRACEFS_VERSION))) ··· 1315 1315 $(call print_var,LIBUNWIND_DIR) 1316 1316 $(call print_var,LIBDW_DIR) 1317 1317 $(call print_var,JDIR) 1318 - $(call print_var,LIBTRACEEVENT_DIR) 1319 1318 1320 1319 ifeq ($(dwarf-post-unwind),1) 1321 1320 $(call feature_print_text,"DWARF post unwind library", $(dwarf-post-unwind-text)) $(info $(MSG))