• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: GPL-2.0-only
2
3include $(srctree)/tools/scripts/utilities.mak
4
5STOP_ERROR :=
6
7LIBTRACEEVENT_MIN_VERSION = 1.5
8LIBTRACEFS_MIN_VERSION = 1.6
9
10ifndef ($(NO_LIBTRACEEVENT),1)
11  ifeq ($(call get-executable,$(PKG_CONFIG)),)
12    $(error Error: $(PKG_CONFIG) needed by libtraceevent/libtracefs is missing on this system, please install it)
13  endif
14endif
15
16define lib_setup
17  $(eval LIB_INCLUDES += $(shell sh -c "$(PKG_CONFIG) --cflags lib$(1)"))
18  $(eval LDFLAGS += $(shell sh -c "$(PKG_CONFIG) --libs-only-L lib$(1)"))
19  $(eval EXTLIBS += $(shell sh -c "$(PKG_CONFIG) --libs-only-l lib$(1)"))
20endef
21
22$(call feature_check,libtraceevent)
23ifeq ($(feature-libtraceevent), 1)
24  $(call detected,CONFIG_LIBTRACEEVENT)
25
26  TEST = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEEVENT_MIN_VERSION) libtraceevent > /dev/null 2>&1 && echo y || echo n")
27  ifeq ($(TEST),n)
28    $(info libtraceevent version is too low, it must be at least $(LIBTRACEEVENT_MIN_VERSION))
29    STOP_ERROR := 1
30  endif
31
32  $(call lib_setup,traceevent)
33else
34  STOP_ERROR := 1
35  $(info libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-devel)
36endif
37
38$(call feature_check,libtracefs)
39ifeq ($(feature-libtracefs), 1)
40  $(call detected,CONFIG_LIBTRACEFS)
41
42  TEST = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEFS_MIN_VERSION) libtracefs > /dev/null 2>&1 && echo y || echo n")
43  ifeq ($(TEST),n)
44    $(info libtracefs version is too low, it must be at least $(LIBTRACEFS_MIN_VERSION))
45    STOP_ERROR := 1
46  endif
47
48  $(call lib_setup,tracefs)
49else
50  STOP_ERROR := 1
51  $(info libtracefs is missing. Please install libtracefs-dev/libtracefs-devel)
52endif
53
54ifeq ($(STOP_ERROR),1)
55  $(error Please, check the errors above.)
56endif
57