diff options
Diffstat (limited to 'tools/perf/Makefile')
-rw-r--r-- | tools/perf/Makefile | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index cb9033d3f72f..68218cfd38b3 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile | |||
@@ -386,22 +386,29 @@ endif | |||
386 | ifdef NO_DEMANGLE | 386 | ifdef NO_DEMANGLE |
387 | BASIC_CFLAGS += -DNO_DEMANGLE | 387 | BASIC_CFLAGS += -DNO_DEMANGLE |
388 | else | 388 | else |
389 | |||
390 | has_bfd := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) -lbfd > /dev/null 2>&1 && echo y") | 389 | has_bfd := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) -lbfd > /dev/null 2>&1 && echo y") |
391 | 390 | ||
392 | has_bfd_iberty := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) -lbfd -liberty > /dev/null 2>&1 && echo y") | ||
393 | |||
394 | has_bfd_iberty_z := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) -lbfd -liberty -lz > /dev/null 2>&1 && echo y") | ||
395 | |||
396 | ifeq ($(has_bfd),y) | 391 | ifeq ($(has_bfd),y) |
397 | EXTLIBS += -lbfd | 392 | EXTLIBS += -lbfd |
398 | else ifeq ($(has_bfd_iberty),y) | ||
399 | EXTLIBS += -lbfd -liberty | ||
400 | else ifeq ($(has_bfd_iberty_z),y) | ||
401 | EXTLIBS += -lbfd -liberty -lz | ||
402 | else | 393 | else |
403 | msg := $(warning No bfd.h/libbfd found, install binutils-dev[el] to gain symbol demangling) | 394 | has_bfd_iberty := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) -lbfd -liberty > /dev/null 2>&1 && echo y") |
404 | BASIC_CFLAGS += -DNO_DEMANGLE | 395 | ifeq ($(has_bfd_iberty),y) |
396 | EXTLIBS += -lbfd -liberty | ||
397 | else | ||
398 | has_bfd_iberty_z := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) -lbfd -liberty -lz > /dev/null 2>&1 && echo y") | ||
399 | ifeq ($(has_bfd_iberty_z),y) | ||
400 | EXTLIBS += -lbfd -liberty -lz | ||
401 | else | ||
402 | has_cplus_demangle := $(shell sh -c "(echo 'extern char *cplus_demangle(const char *, int);'; echo 'int main(void) { cplus_demangle(0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) -liberty > /dev/null 2>&1 && echo y") | ||
403 | ifeq ($(has_cplus_demangle),y) | ||
404 | EXTLIBS += -liberty | ||
405 | BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE | ||
406 | else | ||
407 | msg := $(warning No bfd.h/libbfd found, install binutils-dev[el] to gain symbol demangling) | ||
408 | BASIC_CFLAGS += -DNO_DEMANGLE | ||
409 | endif | ||
410 | endif | ||
411 | endif | ||
405 | endif | 412 | endif |
406 | endif | 413 | endif |
407 | 414 | ||