diff options
author | Ingo Molnar <mingo@kernel.org> | 2013-10-02 09:15:09 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-10-09 02:48:56 -0400 |
commit | 1c47661a93fe6f729c80ed18a1f9ab1c7fb0cac2 (patch) | |
tree | 66530903cf67cc5404ab517aee1d3a75db448342 | |
parent | 73a725f0008702600f7d987e262f963c0fa64bc6 (diff) |
tools/perf/build: Split out feature checks: 'liberty', 'liberty-z', 'cplus-demangle'
Note that these are rarely executed tests, so we call feature_check() explicitly
and don't have them in CORE_FEATURE_CHECKS.
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/n/tip-pvumlx6mbtfxffgrlwO2mRcx@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | tools/perf/config/Makefile | 16 | ||||
-rw-r--r-- | tools/perf/config/feature-checks/Makefile | 12 | ||||
-rw-r--r-- | tools/perf/config/feature-checks/test-cplus-demangle.c | 10 |
3 files changed, 28 insertions, 10 deletions
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index 62d02cd03f29..89b2d47d2e4b 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile | |||
@@ -472,23 +472,19 @@ else | |||
472 | EXTLIBS += -liberty | 472 | EXTLIBS += -liberty |
473 | CFLAGS += -DHAVE_CPLUS_DEMANGLE_SUPPORT | 473 | CFLAGS += -DHAVE_CPLUS_DEMANGLE_SUPPORT |
474 | else | 474 | else |
475 | FLAGS_BFD=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd | ||
476 | ifeq ($(feature-libbfd), 1) | 475 | ifeq ($(feature-libbfd), 1) |
477 | EXTLIBS += -lbfd | 476 | EXTLIBS += -lbfd |
478 | else | 477 | else |
479 | FLAGS_BFD_IBERTY=$(FLAGS_BFD) -liberty | 478 | $(feature_check,liberty) |
480 | has_bfd_iberty := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD_IBERTY),liberty) | 479 | ifeq ($(feature-liberty), 1) |
481 | ifeq ($(has_bfd_iberty),y) | ||
482 | EXTLIBS += -lbfd -liberty | 480 | EXTLIBS += -lbfd -liberty |
483 | else | 481 | else |
484 | FLAGS_BFD_IBERTY_Z=$(FLAGS_BFD_IBERTY) -lz | 482 | $(feature_check,liberty-z) |
485 | has_bfd_iberty_z := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD_IBERTY_Z),libz) | 483 | ifeq ($(feature-liberty-z), 1) |
486 | ifeq ($(has_bfd_iberty_z),y) | ||
487 | EXTLIBS += -lbfd -liberty -lz | 484 | EXTLIBS += -lbfd -liberty -lz |
488 | else | 485 | else |
489 | FLAGS_CPLUS_DEMANGLE=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -liberty | 486 | $(feature_check,cplus-demangle) |
490 | has_cplus_demangle := $(call try-cc,$(SOURCE_CPLUS_DEMANGLE),$(FLAGS_CPLUS_DEMANGLE),demangle) | 487 | ifeq ($(feature-cplus-demangle), 1) |
491 | ifeq ($(has_cplus_demangle),y) | ||
492 | EXTLIBS += -liberty | 488 | EXTLIBS += -liberty |
493 | CFLAGS += -DHAVE_CPLUS_DEMANGLE_SUPPORT | 489 | CFLAGS += -DHAVE_CPLUS_DEMANGLE_SUPPORT |
494 | else | 490 | else |
diff --git a/tools/perf/config/feature-checks/Makefile b/tools/perf/config/feature-checks/Makefile index d4c55acc82bb..e21bceb80bf2 100644 --- a/tools/perf/config/feature-checks/Makefile +++ b/tools/perf/config/feature-checks/Makefile | |||
@@ -11,6 +11,9 @@ FILES= \ | |||
11 | test-hello \ | 11 | test-hello \ |
12 | test-libaudit \ | 12 | test-libaudit \ |
13 | test-libbfd \ | 13 | test-libbfd \ |
14 | test-liberty \ | ||
15 | test-liberty-z \ | ||
16 | test-cplus-demangle \ | ||
14 | test-libelf \ | 17 | test-libelf \ |
15 | test-libelf-getphdrnum \ | 18 | test-libelf-getphdrnum \ |
16 | test-libelf-mmap \ | 19 | test-libelf-mmap \ |
@@ -122,6 +125,15 @@ test-libpython-version: | |||
122 | test-libbfd: | 125 | test-libbfd: |
123 | $(BUILD) -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl | 126 | $(BUILD) -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl |
124 | 127 | ||
128 | test-liberty: | ||
129 | $(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl -liberty | ||
130 | |||
131 | test-liberty-z: | ||
132 | $(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl -liberty -lz | ||
133 | |||
134 | test-cplus-demangle: | ||
135 | $(BUILD) -liberty | ||
136 | |||
125 | test-on-exit: | 137 | test-on-exit: |
126 | $(BUILD) | 138 | $(BUILD) |
127 | 139 | ||
diff --git a/tools/perf/config/feature-checks/test-cplus-demangle.c b/tools/perf/config/feature-checks/test-cplus-demangle.c new file mode 100644 index 000000000000..5202f5038ad8 --- /dev/null +++ b/tools/perf/config/feature-checks/test-cplus-demangle.c | |||
@@ -0,0 +1,10 @@ | |||
1 | |||
2 | extern char *cplus_demangle(const char *, int); | ||
3 | |||
4 | int main(void) | ||
5 | { | ||
6 | cplus_demangle(0, 0); | ||
7 | |||
8 | return 0; | ||
9 | } | ||
10 | |||