aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/config/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/config/Makefile')
-rw-r--r--tools/perf/config/Makefile41
1 files changed, 23 insertions, 18 deletions
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index a53d2b37831a..c6e49022d78b 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -71,7 +71,6 @@ CFLAGS += \
71 -std=gnu99 71 -std=gnu99
72 72
73EXTLIBS = -lpthread -lrt -lelf -lm 73EXTLIBS = -lpthread -lrt -lelf -lm
74ALL_LDFLAGS = $(LDFLAGS)
75 74
76ifeq ($(call try-cc,$(SOURCE_HELLO),$(CFLAGS) -Werror -fstack-protector-all,-fstack-protector-all),y) 75ifeq ($(call try-cc,$(SOURCE_HELLO),$(CFLAGS) -Werror -fstack-protector-all,-fstack-protector-all),y)
77 CFLAGS += -fstack-protector-all 76 CFLAGS += -fstack-protector-all
@@ -107,8 +106,6 @@ CFLAGS += \
107 -I../lib/ \ 106 -I../lib/ \
108 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE 107 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
109 108
110BASIC_LDFLAGS =
111
112ifeq ($(call try-cc,$(SOURCE_BIONIC),$(CFLAGS),bionic),y) 109ifeq ($(call try-cc,$(SOURCE_BIONIC),$(CFLAGS),bionic),y)
113 BIONIC := 1 110 BIONIC := 1
114 EXTLIBS := $(filter-out -lrt,$(EXTLIBS)) 111 EXTLIBS := $(filter-out -lrt,$(EXTLIBS))
@@ -120,9 +117,9 @@ ifdef NO_LIBELF
120 NO_DEMANGLE := 1 117 NO_DEMANGLE := 1
121 NO_LIBUNWIND := 1 118 NO_LIBUNWIND := 1
122else 119else
123FLAGS_LIBELF=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) 120FLAGS_LIBELF=$(CFLAGS) $(LDFLAGS) $(EXTLIBS)
124ifneq ($(call try-cc,$(SOURCE_LIBELF),$(FLAGS_LIBELF),libelf),y) 121ifneq ($(call try-cc,$(SOURCE_LIBELF),$(FLAGS_LIBELF),libelf),y)
125 FLAGS_GLIBC=$(CFLAGS) $(ALL_LDFLAGS) 122 FLAGS_GLIBC=$(CFLAGS) $(LDFLAGS)
126 ifeq ($(call try-cc,$(SOURCE_GLIBC),$(FLAGS_GLIBC),glibc),y) 123 ifeq ($(call try-cc,$(SOURCE_GLIBC),$(FLAGS_GLIBC),glibc),y)
127 LIBC_SUPPORT := 1 124 LIBC_SUPPORT := 1
128 endif 125 endif
@@ -146,7 +143,7 @@ else
146 LIBDW_LDFLAGS := -L$(LIBDW_DIR)/lib 143 LIBDW_LDFLAGS := -L$(LIBDW_DIR)/lib
147 endif 144 endif
148 145
149 FLAGS_DWARF=$(CFLAGS) $(LIBDW_CFLAGS) -ldw -lelf $(LIBDW_LDFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) 146 FLAGS_DWARF=$(CFLAGS) $(LIBDW_CFLAGS) -ldw -lelf $(LIBDW_LDFLAGS) $(LDFLAGS) $(EXTLIBS)
150 ifneq ($(call try-cc,$(SOURCE_DWARF),$(FLAGS_DWARF),libdw),y) 147 ifneq ($(call try-cc,$(SOURCE_DWARF),$(FLAGS_DWARF),libdw),y)
151 msg := $(warning No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev); 148 msg := $(warning No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev);
152 NO_DWARF := 1 149 NO_DWARF := 1
@@ -156,7 +153,7 @@ endif # NO_LIBELF
156 153
157ifndef NO_LIBELF 154ifndef NO_LIBELF
158CFLAGS += -DLIBELF_SUPPORT 155CFLAGS += -DLIBELF_SUPPORT
159FLAGS_LIBELF=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) 156FLAGS_LIBELF=$(CFLAGS) $(LDFLAGS) $(EXTLIBS)
160ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_LIBELF),-DLIBELF_MMAP),y) 157ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_LIBELF),-DLIBELF_MMAP),y)
161 CFLAGS += -DLIBELF_MMAP 158 CFLAGS += -DLIBELF_MMAP
162endif 159endif
@@ -170,13 +167,21 @@ ifeq ($(origin PERF_HAVE_DWARF_REGS), undefined)
170 NO_DWARF := 1 167 NO_DWARF := 1
171else 168else
172 CFLAGS += -DDWARF_SUPPORT $(LIBDW_CFLAGS) 169 CFLAGS += -DDWARF_SUPPORT $(LIBDW_CFLAGS)
173 BASIC_LDFLAGS := $(LIBDW_LDFLAGS) $(BASIC_LDFLAGS) 170 LDFLAGS += $(LIBDW_LDFLAGS)
174 EXTLIBS += -lelf -ldw 171 EXTLIBS += -lelf -ldw
175endif # PERF_HAVE_DWARF_REGS 172endif # PERF_HAVE_DWARF_REGS
176endif # NO_DWARF 173endif # NO_DWARF
177 174
178endif # NO_LIBELF 175endif # NO_LIBELF
179 176
177ifndef NO_LIBELF
178CFLAGS += -DLIBELF_SUPPORT
179FLAGS_LIBELF=$(CFLAGS) $(LDFLAGS) $(EXTLIBS)
180ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_LIBELF),-DLIBELF_MMAP),y)
181 CFLAGS += -DLIBELF_MMAP
182endif # try-cc
183endif # NO_LIBELF
184
180# There's only x86 (both 32 and 64) support for CFI unwind so far 185# There's only x86 (both 32 and 64) support for CFI unwind so far
181ifneq ($(ARCH),x86) 186ifneq ($(ARCH),x86)
182 NO_LIBUNWIND := 1 187 NO_LIBUNWIND := 1
@@ -190,7 +195,7 @@ ifdef LIBUNWIND_DIR
190 LIBUNWIND_LDFLAGS := -L$(LIBUNWIND_DIR)/lib 195 LIBUNWIND_LDFLAGS := -L$(LIBUNWIND_DIR)/lib
191endif 196endif
192 197
193FLAGS_UNWIND=$(LIBUNWIND_CFLAGS) $(CFLAGS) $(LIBUNWIND_LDFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) $(LIBUNWIND_LIBS) 198FLAGS_UNWIND=$(LIBUNWIND_CFLAGS) $(CFLAGS) $(LIBUNWIND_LDFLAGS) $(LDFLAGS) $(EXTLIBS) $(LIBUNWIND_LIBS)
194ifneq ($(call try-cc,$(SOURCE_LIBUNWIND),$(FLAGS_UNWIND),libunwind),y) 199ifneq ($(call try-cc,$(SOURCE_LIBUNWIND),$(FLAGS_UNWIND),libunwind),y)
195 msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 0.99); 200 msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 0.99);
196 NO_LIBUNWIND := 1 201 NO_LIBUNWIND := 1
@@ -201,11 +206,11 @@ ifndef NO_LIBUNWIND
201 CFLAGS += -DLIBUNWIND_SUPPORT 206 CFLAGS += -DLIBUNWIND_SUPPORT
202 EXTLIBS += $(LIBUNWIND_LIBS) 207 EXTLIBS += $(LIBUNWIND_LIBS)
203 CFLAGS += $(LIBUNWIND_CFLAGS) 208 CFLAGS += $(LIBUNWIND_CFLAGS)
204 BASIC_LDFLAGS := $(LIBUNWIND_LDFLAGS) $(BASIC_LDFLAGS) 209 LDFLAGS += $(LIBUNWIND_LDFLAGS)
205endif # NO_LIBUNWIND 210endif # NO_LIBUNWIND
206 211
207ifndef NO_LIBAUDIT 212ifndef NO_LIBAUDIT
208 FLAGS_LIBAUDIT = $(CFLAGS) $(ALL_LDFLAGS) -laudit 213 FLAGS_LIBAUDIT = $(CFLAGS) $(LDFLAGS) -laudit
209 ifneq ($(call try-cc,$(SOURCE_LIBAUDIT),$(FLAGS_LIBAUDIT),libaudit),y) 214 ifneq ($(call try-cc,$(SOURCE_LIBAUDIT),$(FLAGS_LIBAUDIT),libaudit),y)
210 msg := $(warning No libaudit.h found, disables 'trace' tool, please install audit-libs-devel or libaudit-dev); 215 msg := $(warning No libaudit.h found, disables 'trace' tool, please install audit-libs-devel or libaudit-dev);
211 NO_LIBAUDIT := 1 216 NO_LIBAUDIT := 1
@@ -220,7 +225,7 @@ ifdef NO_NEWT
220endif 225endif
221 226
222ifndef NO_SLANG 227ifndef NO_SLANG
223 FLAGS_SLANG=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -I/usr/include/slang -lslang 228 FLAGS_SLANG=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -I/usr/include/slang -lslang
224 ifneq ($(call try-cc,$(SOURCE_SLANG),$(FLAGS_SLANG),libslang),y) 229 ifneq ($(call try-cc,$(SOURCE_SLANG),$(FLAGS_SLANG),libslang),y)
225 msg := $(warning slang not found, disables TUI support. Please install slang-devel or libslang-dev); 230 msg := $(warning slang not found, disables TUI support. Please install slang-devel or libslang-dev);
226 NO_SLANG := 1 231 NO_SLANG := 1
@@ -233,7 +238,7 @@ ifndef NO_SLANG
233endif 238endif
234 239
235ifndef NO_GTK2 240ifndef NO_GTK2
236 FLAGS_GTK2=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null) 241 FLAGS_GTK2=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null)
237 ifneq ($(call try-cc,$(SOURCE_GTK2),$(FLAGS_GTK2),gtk2),y) 242 ifneq ($(call try-cc,$(SOURCE_GTK2),$(FLAGS_GTK2),gtk2),y)
238 msg := $(warning GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev); 243 msg := $(warning GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev);
239 NO_GTK2 := 1 244 NO_GTK2 := 1
@@ -263,7 +268,7 @@ else
263 CFLAGS += -DNO_LIBPERL 268 CFLAGS += -DNO_LIBPERL
264 NO_LIBPERL := 1 269 NO_LIBPERL := 1
265 else 270 else
266 ALL_LDFLAGS += $(PERL_EMBED_LDFLAGS) 271 LDFLAGS += $(PERL_EMBED_LDFLAGS)
267 EXTLIBS += $(PERL_EMBED_LIBADD) 272 EXTLIBS += $(PERL_EMBED_LIBADD)
268 endif 273 endif
269endif 274endif
@@ -322,7 +327,7 @@ else
322 $(warning $(and ,)) 327 $(warning $(and ,))
323 $(error $(and ,)) 328 $(error $(and ,))
324 else 329 else
325 ALL_LDFLAGS += $(PYTHON_EMBED_LDFLAGS) 330 LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
326 EXTLIBS += $(PYTHON_EMBED_LIBADD) 331 EXTLIBS += $(PYTHON_EMBED_LIBADD)
327 LANG_BINDINGS += $(OUTPUT)python/perf.so 332 LANG_BINDINGS += $(OUTPUT)python/perf.so
328 endif 333 endif
@@ -338,7 +343,7 @@ else
338 EXTLIBS += -liberty 343 EXTLIBS += -liberty
339 CFLAGS += -DHAVE_CPLUS_DEMANGLE 344 CFLAGS += -DHAVE_CPLUS_DEMANGLE
340 else 345 else
341 FLAGS_BFD=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd 346 FLAGS_BFD=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd
342 has_bfd := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD),libbfd) 347 has_bfd := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD),libbfd)
343 ifeq ($(has_bfd),y) 348 ifeq ($(has_bfd),y)
344 EXTLIBS += -lbfd 349 EXTLIBS += -lbfd
@@ -353,7 +358,7 @@ else
353 ifeq ($(has_bfd_iberty_z),y) 358 ifeq ($(has_bfd_iberty_z),y)
354 EXTLIBS += -lbfd -liberty -lz 359 EXTLIBS += -lbfd -liberty -lz
355 else 360 else
356 FLAGS_CPLUS_DEMANGLE=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -liberty 361 FLAGS_CPLUS_DEMANGLE=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -liberty
357 has_cplus_demangle := $(call try-cc,$(SOURCE_CPLUS_DEMANGLE),$(FLAGS_CPLUS_DEMANGLE),demangle) 362 has_cplus_demangle := $(call try-cc,$(SOURCE_CPLUS_DEMANGLE),$(FLAGS_CPLUS_DEMANGLE),demangle)
358 ifeq ($(has_cplus_demangle),y) 363 ifeq ($(has_cplus_demangle),y)
359 EXTLIBS += -liberty 364 EXTLIBS += -liberty
@@ -387,7 +392,7 @@ ifndef NO_BACKTRACE
387endif 392endif
388 393
389ifndef NO_LIBNUMA 394ifndef NO_LIBNUMA
390 FLAGS_LIBNUMA = $(CFLAGS) $(ALL_LDFLAGS) -lnuma 395 FLAGS_LIBNUMA = $(CFLAGS) $(LDFLAGS) -lnuma
391 ifneq ($(call try-cc,$(SOURCE_LIBNUMA),$(FLAGS_LIBNUMA),libnuma),y) 396 ifneq ($(call try-cc,$(SOURCE_LIBNUMA),$(FLAGS_LIBNUMA),libnuma),y)
392 msg := $(warning No numa.h found, disables 'perf bench numa mem' benchmark, please install numa-libs-devel or libnuma-dev); 397 msg := $(warning No numa.h found, disables 'perf bench numa mem' benchmark, please install numa-libs-devel or libnuma-dev);
393 NO_LIBNUMA := 1 398 NO_LIBNUMA := 1