fe2dba8869562e295709fe5daaa629d22c7213a2
[platform/upstream/libunwind.git] / tests / Makefile.am
1 AM_CPPFLAGS = -I$(top_srcdir)/include
2
3 EXTRA_DIST =    run-ia64-test-dyn1 run-ptrace-mapper run-ptrace-misc    \
4                 run-check-namespace run-coredump-unwind \
5                 run-coredump-unwind-mdi check-namespace.sh.in \
6                 Gtest-nomalloc.c
7
8 MAINTAINERCLEANFILES = Makefile.in
9
10 noinst_PROGRAMS_common =
11 check_PROGRAMS_common = test-proc-info test-static-link \
12                         test-strerror
13 check_SCRIPTS_common =  run-check-namespace
14
15 if REMOTE_ONLY
16  check_SCRIPTS_cdep =
17  check_PROGRAMS_cdep =
18  noinst_PROGRAMS_cdep = $(noinst_PROGRAMS_common)
19
20 perf:
21
22 else
23  LIBUNWIND_local = $(top_builddir)/src/libunwind.la
24 if ARCH_IA64
25  noinst_PROGRAMS_arch = ia64-test-dyn1
26  check_SCRIPTS_arch =   run-ia64-test-dyn1
27  check_PROGRAMS_arch =  Gia64-test-stack Lia64-test-stack               \
28                         Gia64-test-nat Lia64-test-nat                   \
29                         Gia64-test-rbs Lia64-test-rbs                   \
30                         Gia64-test-readonly Lia64-test-readonly         \
31                         ia64-test-setjmp ia64-test-sig
32 else #!ARCH_IA64
33 if ARCH_PPC64
34 if USE_ALTIVEC
35  noinst_PROGRAMS_arch = ppc64-test-altivec
36 endif #USE_ALTIVEC
37 endif #ARCH_PPC64
38 endif #!ARCH_IA64
39  check_SCRIPTS_cdep =
40  check_PROGRAMS_cdep =  Gtest-bt Ltest-bt Gtest-exc Ltest-exc            \
41                         Gtest-init Ltest-init                            \
42                         Gtest-concurrent Ltest-concurrent                \
43                         Gtest-resume-sig Ltest-resume-sig                \
44                         Gtest-resume-sig-rt Ltest-resume-sig-rt          \
45                         Gtest-dyn1 Ltest-dyn1                            \
46                         Gtest-trace Ltest-trace                          \
47                         test-async-sig test-flush-cache test-init-remote \
48                         test-mem Ltest-varargs Ltest-nomalloc    \
49                         Ltest-nocalloc Lrs-race
50  noinst_PROGRAMS_cdep = forker Gperf-simple Lperf-simple \
51                         Gperf-trace Lperf-trace
52
53 if BUILD_PTRACE
54  check_SCRIPTS_cdep += run-ptrace-mapper run-ptrace-misc
55  check_PROGRAMS_cdep += test-ptrace
56  noinst_PROGRAMS_cdep += mapper test-ptrace-misc
57 endif
58
59 if BUILD_SETJMP
60  check_PROGRAMS_cdep += test-setjmp
61 endif
62
63 if SUPPORT_CXX_EXCEPTIONS
64  check_PROGRAMS_cdep += Ltest-cxx-exceptions
65 endif
66
67 if OS_LINUX
68 if BUILD_COREDUMP
69  check_SCRIPTS_cdep += run-coredump-unwind
70  noinst_PROGRAMS_cdep += crasher test-coredump-unwind
71
72 if HAVE_LZMA
73  check_SCRIPTS_cdep += run-coredump-unwind-mdi
74 endif # HAVE_LZMA
75 endif # BUILD_COREDUMP
76 endif # OS_LINUX
77
78 perf: perf-startup Gperf-simple Lperf-simple Lperf-trace
79         @echo "########## Basic performance of generic libunwind:"
80         @./Gperf-simple
81         @echo "########## Basic performance of local-only libunwind:"
82         @./Lperf-simple
83         @echo "########## Performance of fast unwind:"
84         @./Lperf-trace
85         @echo "########## Startup overhead:"
86         @$(srcdir)/perf-startup @arch@
87
88 endif
89
90 check_PROGRAMS = $(check_PROGRAMS_common) $(check_PROGRAMS_cdep) \
91                  $(check_PROGRAMS_arch)
92 check_SCRIPTS = $(check_SCRIPTS_common) $(check_SCRIPTS_cdep) \
93                 $(check_SCRIPTS_arch)
94
95
96 TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
97 XFAIL_TESTS =
98
99 if !ARCH_IA64
100 XFAIL_TESTS += Gtest-dyn1 Ltest-dyn1
101 endif
102
103 # Use if arch defines but does not support PTRACE_SINGLESTEP
104 # ptrace request used in the tests.
105 XFAIL_TESTS_PTRACE_SINGLESTEP = run-ptrace-mapper run-ptrace-misc
106
107 if ARCH_MIPS
108 XFAIL_TESTS += $(XFAIL_TESTS_PTRACE_SINGLESTEP)
109 endif
110
111 if ARCH_ARM
112 # ARM Linux kernel >=2.6.39 removed PTRACE_SINGLESTEP emulation
113 XFAIL_TESTS += $(XFAIL_TESTS_PTRACE_SINGLESTEP)
114 endif
115
116 noinst_PROGRAMS = $(noinst_PROGRAMS_common) $(noinst_PROGRAMS_cdep) \
117         $(noinst_PROGRAMS_arch)
118
119 Lia64_test_readonly_SOURCES = Lia64-test-readonly.c ia64-test-readonly-asm.S
120 Gia64_test_readonly_SOURCES = Gia64-test-readonly.c ia64-test-readonly-asm.S
121 Lia64_test_stack_SOURCES = Lia64-test-stack.c ia64-test-stack-asm.S \
122                                 ia64-test-stack.h
123 Gia64_test_stack_SOURCES = Gia64-test-stack.c ia64-test-stack-asm.S \
124                                 ia64-test-stack.h
125 Lia64_test_rbs_SOURCES = Lia64-test-rbs.c ia64-test-rbs-asm.S ia64-test-rbs.h
126 Gia64_test_rbs_SOURCES = Gia64-test-rbs.c ia64-test-rbs-asm.S ia64-test-rbs.h
127 Lia64_test_nat_SOURCES = Lia64-test-nat.c ia64-test-nat-asm.S
128 Gia64_test_nat_SOURCES = Gia64-test-nat.c ia64-test-nat-asm.S
129 ia64_test_dyn1_SOURCES = ia64-test-dyn1.c ia64-dyn-asm.S flush-cache.S \
130                                 flush-cache.h
131 ppc64_test_altivec_SOURCES = ppc64-test-altivec.c  ppc64-test-altivec-utils.c
132 Gtest_init_SOURCES = Gtest-init.cxx
133 Ltest_init_SOURCES = Ltest-init.cxx
134 Ltest_cxx_exceptions_SOURCES = Ltest-cxx-exceptions.cxx
135
136 Gtest_dyn1_SOURCES = Gtest-dyn1.c flush-cache.S flush-cache.h
137 Ltest_dyn1_SOURCES = Ltest-dyn1.c flush-cache.S flush-cache.h
138 test_static_link_SOURCES = test-static-link-loc.c test-static-link-gen.c
139 test_static_link_LDFLAGS = -static
140 forker_LDFLAGS = -static
141 Gtest_bt_SOURCES = Gtest-bt.c ident.c
142 Ltest_bt_SOURCES = Ltest-bt.c ident.c
143 test_ptrace_misc_SOURCES = test-ptrace-misc.c ident.c
144 Ltest_nomalloc_SOURCES = Ltest-nomalloc.c
145 Ltest_nocalloc_SOURCES = Ltest-nocalloc.c
146 Gtest_trace_SOURCES = Gtest-trace.c ident.c
147 Ltest_trace_SOURCES = Ltest-trace.c ident.c
148
149 LIBUNWIND = $(top_builddir)/src/libunwind-$(arch).la
150 LIBUNWIND_ptrace = $(top_builddir)/src/libunwind-ptrace.la
151 LIBUNWIND_coredump = $(top_builddir)/src/libunwind-coredump.la
152
153 if USE_ELF32
154 LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elf32.la
155 endif
156 if USE_ELF64
157 LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elf64.la
158 endif
159 if USE_ELFXX
160 LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elfxx.la
161 endif
162
163 LIBUNWIND_setjmp = $(top_builddir)/src/libunwind-setjmp.la      \
164                    $(LIBUNWIND_ELF) $(LIBUNWIND)
165
166 test_async_sig_LDADD = $(LIBUNWIND_local) -lpthread
167 test_flush_cache_LDADD = $(LIBUNWIND_local)
168 test_init_remote_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
169 test_mem_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
170 test_ptrace_LDADD = $(LIBUNWIND_ptrace) $(LIBUNWIND)
171 test_proc_info_LDADD = $(LIBUNWIND)
172 test_static_link_LDADD = $(LIBUNWIND)
173 test_strerror_LDADD = $(LIBUNWIND)
174 Lrs_race_LDADD = $(LIBUNWIND_local) -lpthread
175 Ltest_varargs_LDADD = $(LIBUNWIND_local)
176
177 Gtest_bt_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
178 Gtest_concurrent_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) -lpthread
179 Gtest_dyn1_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
180 Gtest_exc_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
181 Gtest_init_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
182 Gtest_resume_sig_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
183 Gtest_resume_sig_rt_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
184 Gperf_simple_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
185 Gtest_trace_LDADD=$(LIBUNWIND) $(LIBUNWIND_local)
186 Gperf_trace_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
187
188 Ltest_bt_LDADD = $(LIBUNWIND_local)
189 Ltest_concurrent_LDADD = $(LIBUNWIND_local) -lpthread
190 Ltest_dyn1_LDADD = $(LIBUNWIND_local)
191 Ltest_exc_LDADD = $(LIBUNWIND_local)
192 Ltest_init_LDADD = $(LIBUNWIND_local)
193 Ltest_nomalloc_LDADD = $(LIBUNWIND_local) @DLLIB@
194 Ltest_nocalloc_LDADD = $(LIBUNWIND_local) @DLLIB@ -lpthread
195 Ltest_resume_sig_LDADD = $(LIBUNWIND_local)
196 Ltest_resume_sig_rt_LDADD = $(LIBUNWIND_local)
197 Lperf_simple_LDADD = $(LIBUNWIND_local)
198 Ltest_trace_LDADD = $(LIBUNWIND_local)
199 Lperf_trace_LDADD = $(LIBUNWIND_local)
200
201 test_setjmp_LDADD = $(LIBUNWIND_setjmp)
202 ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp)
203
204 if BUILD_COREDUMP
205 test_coredump_unwind_LDADD = $(LIBUNWIND_coredump) $(LIBUNWIND)
206 endif
207
208 Gia64_test_nat_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
209 Gia64_test_stack_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
210 Gia64_test_rbs_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
211 Gia64_test_readonly_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
212 Lia64_test_nat_LDADD = $(LIBUNWIND_local)
213 Lia64_test_stack_LDADD = $(LIBUNWIND_local)
214 Lia64_test_rbs_LDADD = $(LIBUNWIND_local)
215 Lia64_test_readonly_LDADD = $(LIBUNWIND_local)
216 ia64_test_dyn1_LDADD = $(LIBUNWIND)
217 ia64_test_sig_LDADD = $(LIBUNWIND)
218 ppc64_test_altivec_LDADD = $(LIBUNWIND)