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

libperf: Link libapi.a in libperf.so

Linking libapi.a in libperf.so, because we are about to use some of the
API functions in it.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lore.kernel.org/lkml/20190913132355.21634-10-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Jiri Olsa and committed by
Arnaldo Carvalho de Melo
d80a5540 e6b1878d

+30 -3
+30 -3
tools/perf/lib/Makefile
··· 59 59 CFLAGS := -g -Wall 60 60 endif 61 61 62 - INCLUDES = -I$(srctree)/tools/perf/lib/include -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(SRCARCH)/include/ -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi -I$(srctree)/tools/include/uapi 62 + INCLUDES = \ 63 + -I$(srctree)/tools/perf/lib/include \ 64 + -I$(srctree)/tools/lib/ \ 65 + -I$(srctree)/tools/include \ 66 + -I$(srctree)/tools/arch/$(SRCARCH)/include/ \ 67 + -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi \ 68 + -I$(srctree)/tools/include/uapi 63 69 64 70 # Append required CFLAGS 65 71 override CFLAGS += $(EXTRA_WARNINGS) ··· 94 88 95 89 LIBPERF_ALL := $(LIBPERF_A) $(OUTPUT)libperf.so* 96 90 91 + LIB_DIR := $(srctree)/tools/lib/api/ 92 + 93 + ifneq ($(OUTPUT),) 94 + ifneq ($(subdir),) 95 + API_PATH=$(OUTPUT)/../lib/api/ 96 + else 97 + API_PATH=$(OUTPUT) 98 + endif 99 + else 100 + API_PATH=$(LIB_DIR) 101 + endif 102 + 103 + LIBAPI = $(API_PATH)libapi.a 104 + 105 + $(LIBAPI): FORCE 106 + $(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) $(OUTPUT)libapi.a 107 + 108 + $(LIBAPI)-clean: 109 + $(call QUIET_CLEAN, libapi) 110 + $(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null 111 + 97 112 $(LIBPERF_IN): FORCE 98 113 $(Q)$(MAKE) $(build)=libperf 99 114 100 115 $(LIBPERF_A): $(LIBPERF_IN) 101 116 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIBPERF_IN) 102 117 103 - $(LIBPERF_SO): $(LIBPERF_IN) 118 + $(LIBPERF_SO): $(LIBPERF_IN) $(LIBAPI) 104 119 $(QUIET_LINK)$(CC) --shared -Wl,-soname,libperf.so \ 105 120 -Wl,--version-script=$(VERSION_SCRIPT) $^ -o $@ 106 121 @ln -sf $(@F) $(OUTPUT)libperf.so ··· 133 106 all: fixdep 134 107 $(Q)$(MAKE) libs 135 108 136 - clean: 109 + clean: $(LIBAPI)-clean 137 110 $(call QUIET_CLEAN, libperf) $(RM) $(LIBPERF_A) \ 138 111 *.o *~ *.a *.so *.so.$(VERSION) *.so.$(LIBPERF_VERSION) .*.d .*.cmd LIBPERF-CFLAGS $(LIBPERF_PC) 139 112 $(Q)$(MAKE) -C tests clean