aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-10-02 09:15:09 -0400
committerIngo Molnar <mingo@kernel.org>2013-10-09 02:48:56 -0400
commit1c47661a93fe6f729c80ed18a1f9ab1c7fb0cac2 (patch)
tree66530903cf67cc5404ab517aee1d3a75db448342
parent73a725f0008702600f7d987e262f963c0fa64bc6 (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/Makefile16
-rw-r--r--tools/perf/config/feature-checks/Makefile12
-rw-r--r--tools/perf/config/feature-checks/test-cplus-demangle.c10
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:
122test-libbfd: 125test-libbfd:
123 $(BUILD) -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl 126 $(BUILD) -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl
124 127
128test-liberty:
129 $(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl -liberty
130
131test-liberty-z:
132 $(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl -liberty -lz
133
134test-cplus-demangle:
135 $(BUILD) -liberty
136
125test-on-exit: 137test-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
2extern char *cplus_demangle(const char *, int);
3
4int main(void)
5{
6 cplus_demangle(0, 0);
7
8 return 0;
9}
10