Files
linux-stable-mirror/tools/tracing/rtla/Makefile.config
Tao Chen f471b3e24d rtla: Check pkg-config install
[ Upstream commit 7b128f1d53 ]

The tool pkg-config used to check libtraceevent and libtracefs, if not
installed, it will report the libs not found, even though they have
already been installed.

Before:
libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-devel
libtracefs is missing. Please install libtracefs-dev/libtracefs-devel

After:
Makefile.config:10: *** Error: pkg-config needed by libtraceevent/libtracefs is missing
on this system, please install it.

Link: https://lore.kernel.org/20250808040527.2036023-2-chen.dylane@linux.dev
Fixes: 01474dc706 ("tools/rtla: Use tools/build makefiles to build rtla")
Signed-off-by: Tao Chen <chen.dylane@linux.dev>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-09-04 15:31:42 +02:00

57 lines
1.7 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
include $(srctree)/tools/scripts/utilities.mak
STOP_ERROR :=
LIBTRACEEVENT_MIN_VERSION = 1.5
LIBTRACEFS_MIN_VERSION = 1.6
ifndef ($(NO_LIBTRACEEVENT),1)
ifeq ($(call get-executable,$(PKG_CONFIG)),)
$(error Error: $(PKG_CONFIG) needed by libtraceevent/libtracefs is missing on this system, please install it)
endif
endif
define lib_setup
$(eval LIB_INCLUDES += $(shell sh -c "$(PKG_CONFIG) --cflags lib$(1)"))
$(eval LDFLAGS += $(shell sh -c "$(PKG_CONFIG) --libs-only-L lib$(1)"))
$(eval EXTLIBS += $(shell sh -c "$(PKG_CONFIG) --libs-only-l lib$(1)"))
endef
$(call feature_check,libtraceevent)
ifeq ($(feature-libtraceevent), 1)
$(call detected,CONFIG_LIBTRACEEVENT)
TEST = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEEVENT_MIN_VERSION) libtraceevent > /dev/null 2>&1 && echo y || echo n")
ifeq ($(TEST),n)
$(info libtraceevent version is too low, it must be at least $(LIBTRACEEVENT_MIN_VERSION))
STOP_ERROR := 1
endif
$(call lib_setup,traceevent)
else
STOP_ERROR := 1
$(info libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-devel)
endif
$(call feature_check,libtracefs)
ifeq ($(feature-libtracefs), 1)
$(call detected,CONFIG_LIBTRACEFS)
TEST = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEFS_MIN_VERSION) libtracefs > /dev/null 2>&1 && echo y || echo n")
ifeq ($(TEST),n)
$(info libtracefs version is too low, it must be at least $(LIBTRACEFS_MIN_VERSION))
STOP_ERROR := 1
endif
$(call lib_setup,tracefs)
else
STOP_ERROR := 1
$(info libtracefs is missing. Please install libtracefs-dev/libtracefs-devel)
endif
ifeq ($(STOP_ERROR),1)
$(error Please, check the errors above.)
endif