+CC Steve and linux-trace-kernel list. Thanks, Namhyung
On Fri, Jun 28, 2024 at 10:34:29PM +0200, Guilherme Amadio wrote: > Other tools, in tools/verification and tools/tracing, make use of > libtraceevent and libtracefs as dependencies. This allows setting > up the feature check flags for them as well. > > Signed-off-by: Guilherme Amadio <ama...@gentoo.org> > --- > tools/build/Makefile.feature | 20 ++++++++++++++++++++ > tools/perf/Makefile.config | 10 ---------- > 2 files changed, 20 insertions(+), 10 deletions(-) > > diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature > index 1e2ab148d5db..79a03e034073 100644 > --- a/tools/build/Makefile.feature > +++ b/tools/build/Makefile.feature > @@ -149,6 +149,26 @@ FEATURE_DISPLAY ?= \ > # > FEATURE_GROUP_MEMBERS-libbfd = libbfd-liberty libbfd-liberty-z > > +# > +# Declare list of feature dependency packages that provide pkg-config files. > +# > +FEATURE_PKG_CONFIG ?= \ > + libtraceevent \ > + libtracefs > + > +feature_pkg_config = $(eval $(feature_pkg_config_code)) > +define feature_pkg_config_code > + ifeq ($(shell $(PKG_CONFIG) --exists $(1) 2>&1 1>/dev/null; echo $$?),0) > + FEATURE_CHECK_CFLAGS-$(1) := $(shell $(PKG_CONFIG) --cflags $(1)) > + FEATURE_CHECK_LDFLAGS-$(1) := $(shell $(PKG_CONFIG) --libs $(1)) > + endif > +endef > + > +# Set FEATURE_CHECK_(C|LD)FLAGS-$(package) for packages using pkg-config. > +ifneq ($(PKG_CONFIG),) > + $(foreach package,$(FEATURE_PKG_CONFIG),$(call > feature_pkg_config,$(package))) > +endif > + > # Set FEATURE_CHECK_(C|LD)FLAGS-all for all FEATURE_TESTS features. > # If in the future we need per-feature checks/flags for features not > # mentioned in this list we need to refactor this ;-). > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > index ba51ecfca02b..23f2b54d8ee6 100644 > --- a/tools/perf/Makefile.config > +++ b/tools/perf/Makefile.config > @@ -187,16 +187,6 @@ ifneq ($(NO_LIBTRACEEVENT),1) > dummy := $(error Error: $(PKG_CONFIG) needed by libtraceevent is missing > on this system, please install it) > endif > endif > -ifeq ($(shell $(PKG_CONFIG) --exists libtraceevent 2>&1 1>/dev/null; echo > $$?),0) > - # for linking with debug library, run like: > - # make DEBUG=1 PKG_CONFIG_PATH=/opt/libtraceevent/(lib|lib64)/pkgconfig > - FEATURE_CHECK_CFLAGS-libtraceevent := $(shell $(PKG_CONFIG) --cflags > libtraceevent) > - FEATURE_CHECK_LDFLAGS-libtraceevent := $(shell $(PKG_CONFIG) --libs > libtraceevent) > -endif > -ifeq ($(shell $(PKG_CONFIG) --exists libtracefs 2>&1 1>/dev/null; echo > $$?),0) > - FEATURE_CHECK_CFLAGS-libtracefs := $(shell $(PKG_CONFIG) --cflags > libtracefs) > - FEATURE_CHECK_LDFLAGS-libtracefs := $(shell $(PKG_CONFIG) --libs > libtracefs) > -endif > > FEATURE_CHECK_CFLAGS-bpf = -I. -I$(srctree)/tools/include > -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi > -I$(srctree)/tools/include/uapi > # include ARCH specific config > -- > 2.45.2 >