Comment out undef_symbol.err for now.
[external/binutils.git] / gold / testsuite / Makefile.am
1 # Process this file with automake to generate Makefile.in
2
3 # As far as I can tell automake testing support assumes that the build
4 # system and the host system are the same.  So these tests will not
5 # work when building with a cross-compiler.
6
7 AUTOMAKE_OPTIONS =
8
9 # The two_file_test tests -fmerge-constants, so we simply always turn
10 # it on.  This may need to be controlled by a configure option
11 # eventually.
12 AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CXXFLAGS) -fmerge-constants
13
14 INCLUDES = \
15         -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
16         -I$(srcdir)/../../elfcpp \
17         -DLOCALEDIR="\"$(datadir)/locale\"" \
18         @INCINTL@
19
20 if THREADS
21 THREADSLIB = -lpthread
22 endif
23
24 check_SCRIPTS = debug_msg.sh
25 check_DATA =
26
27 TESTS = object_unittest
28
29 if GCC
30
31 if NATIVE_LINKER
32
33 TESTS += debug_msg.sh
34
35 check_DATA += debug_msg.err
36
37 # TESTS += undef_symbol.sh
38 # check_DATA +=undef_symbol.err
39
40 NATIVE_PROGS = \
41         constructor_test \
42         constructor_static_test \
43         two_file_test \
44         two_file_static_test \
45         two_file_pic_test \
46         two_file_shared_1_test \
47         two_file_shared_2_test \
48         two_file_shared_1_pic_2_test \
49         two_file_shared_2_pic_1_test \
50         two_file_same_shared_test \
51         two_file_separate_shared_12_test \
52         two_file_separate_shared_21_test \
53         exception_test \
54         exception_static_test \
55         exception_shared_1_test \
56         exception_shared_2_test \
57         exception_same_shared_test \
58         exception_separate_shared_12_test \
59         exception_separate_shared_21_test \
60         weak_test
61
62 if FN_PTRS_IN_SO_WITHOUT_PIC
63
64 NATIVE_PROGS += \
65         two_file_shared_1_nonpic_test \
66         two_file_shared_2_nonpic_test \
67         two_file_same_shared_nonpic_test \
68         two_file_separate_shared_12_nonpic_test \
69         two_file_separate_shared_21_nonpic_test
70
71 endif
72
73 if TLS
74
75 NATIVE_PROGS += \
76         tls_test \
77         tls_pic_test \
78         tls_shared_test
79
80 if STATIC_TLS
81
82 NATIVE_PROGS += \
83         tls_static_test \
84         tls_static_pic_test
85
86 endif
87
88 if FN_PTRS_IN_SO_WITHOUT_PIC
89
90 NATIVE_PROGS += \
91         tls_shared_nonpic_test
92
93 endif
94 endif
95
96 NATIVE_TESTING = \
97         basic_test \
98         basic_pic_test \
99         basic_static_test \
100         basic_static_pic_test \
101         $(NATIVE_PROGS)
102
103 endif
104 endif
105
106 TESTS += $(NATIVE_TESTING)
107
108 check_LIBRARIES = libgoldtest.a
109 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
110
111 DEPENDENCIES = \
112         libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL_DEP)
113 LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
114         $(THREADSLIB)
115
116 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
117
118 object_unittest_SOURCES = object_unittest.cc
119
120 if GCC
121
122 if NATIVE_LINKER
123
124 gcctestdir/ld: ../ld-new
125         test -d gcctestdir || mkdir -p gcctestdir
126         rm -f gcctestdir/ld
127         (cd gcctestdir && $(LN_S) ../../ld-new ld)
128
129 debug_msg.o: debug_msg.cc
130         $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/debug_msg.cc
131 odr_violation1.o: odr_violation1.cc
132         $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/odr_violation1.cc
133 odr_violation2.o: odr_violation2.cc
134         $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/odr_violation2.cc
135 debug_msg.err: debug_msg.o odr_violation1.o odr_violation2.o gcctestdir/ld
136         @echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@"
137         @if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o 2>$@; \
138         then \
139           echo 1>&2 "Link of debug_msg.o should have failed"; \
140           exit 1; \
141         fi
142
143 undef_symbol.o: undef_symbol.cc
144         $(CXXCOMPILE) -O0 -g -c -fPIC $<
145 undef_symbol.so: undef_symbol.o
146         $(CXXLINK) -shared undef_symbol.o
147 undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld
148         @echo $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@"
149         @if $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so 2>$@; \
150         then \
151           echo 1>&2 "Link of undef_symbol_test should have failed"; \
152           exit 1; \
153         fi
154
155 # Override the default CXXFLAGS--we don't want any optimization
156 basic_test.o: basic_test.cc
157         $(CXXCOMPILE) -O0 -c -o $@ $<
158 basic_test: basic_test.o gcctestdir/ld
159         $(CXXLINK) -Bgcctestdir/ basic_test.o
160 basic_static_test: basic_test.o gcctestdir/ld
161         $(CXXLINK) -Bgcctestdir/ -static basic_test.o
162
163 basic_pic_test.o: basic_test.cc
164         $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
165 basic_pic_test: basic_pic_test.o gcctestdir/ld
166         $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
167 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
168         $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
169
170 constructor_test_SOURCES = constructor_test.cc
171 constructor_test_DEPENDENCIES = gcctestdir/ld
172 constructor_test_LDFLAGS = -Bgcctestdir/
173
174 constructor_static_test_SOURCES = constructor_test.cc
175 constructor_static_test_DEPENDENCIES = gcctestdir/ld
176 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
177
178 two_file_test_SOURCES = \
179         two_file_test_1.cc \
180         two_file_test_2.cc \
181         two_file_test_main.cc \
182         two_file_test.h
183 two_file_test_DEPENDENCIES = gcctestdir/ld
184 two_file_test_LDFLAGS = -Bgcctestdir/
185
186 two_file_static_test_SOURCES = \
187         two_file_test_1.cc two_file_test_2.cc two_file_test_main.cc
188 two_file_static_test_DEPENDENCIES = gcctestdir/ld
189 two_file_static_test_LDFLAGS = -Bgcctestdir/ -static
190
191 two_file_pic_test_SOURCES = two_file_test_main.cc
192 two_file_pic_test_DEPENDENCIES = \
193         gcctestdir/ld two_file_test_1_pic.o two_file_test_2_pic.o
194 two_file_pic_test_LDFLAGS = -Bgcctestdir/
195 two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_2_pic.o
196
197 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
198 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
199 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
200 two_file_shared_1_test_LDADD = two_file_shared_1.so
201
202 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
203 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
204 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
205 two_file_shared_2_test_LDADD = two_file_shared_2.so
206
207 two_file_shared_1_pic_2_test_SOURCES = two_file_test_main.cc
208 two_file_shared_1_pic_2_test_DEPENDENCIES = \
209         gcctestdir/ld two_file_shared_1.so two_file_test_1_pic.o
210 two_file_shared_1_pic_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
211 two_file_shared_1_pic_2_test_LDADD = two_file_test_1_pic.o two_file_shared_2.so
212
213 two_file_shared_2_pic_1_test_SOURCES = two_file_test_main.cc
214 two_file_shared_2_pic_1_test_DEPENDENCIES = \
215         gcctestdir/ld two_file_shared_2.so two_file_test_2_pic.o
216 two_file_shared_2_pic_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
217 two_file_shared_2_pic_1_test_LDADD = two_file_test_2_pic.o two_file_shared_1.so
218
219 two_file_same_shared_test_SOURCES = two_file_test_main.cc
220 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
221 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
222 two_file_same_shared_test_LDADD = two_file_shared.so
223
224 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
225 two_file_separate_shared_12_test_DEPENDENCIES = \
226         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
227 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
228 two_file_separate_shared_12_test_LDADD = \
229         two_file_shared_1.so two_file_shared_2.so
230
231 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
232 two_file_separate_shared_21_test_DEPENDENCIES = \
233         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
234 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
235 two_file_separate_shared_21_test_LDADD = \
236         two_file_shared_2.so two_file_shared_1.so
237
238 two_file_test_1_pic.o: two_file_test_1.cc
239         $(CXXCOMPILE) -c -fpic -o $@ $<
240 two_file_test_2_pic.o: two_file_test_2.cc
241         $(CXXCOMPILE) -c -fpic -o $@ $<
242
243 two_file_shared_1.so: two_file_test_1_pic.o
244         $(CXXLINK) -shared two_file_test_1_pic.o
245 two_file_shared_2.so: two_file_test_2_pic.o
246         $(CXXLINK) -shared two_file_test_2_pic.o
247 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
248         $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
249
250 # The nonpic tests will fail on platforms which can not put non-PIC
251 # code into shared libraries, so we just don't run them in that case.
252
253 if FN_PTRS_IN_SO_WITHOUT_PIC
254
255 two_file_shared_1_nonpic_test_SOURCES = \
256         two_file_test_2.cc two_file_test_main.cc
257 two_file_shared_1_nonpic_test_DEPENDENCIES = \
258         gcctestdir/ld two_file_shared_1_nonpic.so
259 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
260 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
261
262 two_file_shared_2_nonpic_test_SOURCES = \
263         two_file_test_1.cc two_file_test_main.cc
264 two_file_shared_2_nonpic_test_DEPENDENCIES = \
265         gcctestdir/ld two_file_shared_2_nonpic.so
266 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
267 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
268
269 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
270 two_file_same_shared_nonpic_test_DEPENDENCIES = \
271         gcctestdir/ld two_file_shared_nonpic.so
272 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
273 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
274
275 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
276 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
277         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
278 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
279 two_file_separate_shared_12_nonpic_test_LDADD = \
280         two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
281
282 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
283 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
284         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
285 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
286 two_file_separate_shared_21_nonpic_test_LDADD = \
287         two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
288
289 two_file_shared_1_nonpic.so: two_file_test_1.o
290         $(CXXLINK) -shared two_file_test_1.o
291 two_file_shared_2_nonpic.so: two_file_test_2.o
292         $(CXXLINK) -shared two_file_test_2.o
293 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
294         $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
295
296 endif
297
298 exception_test_SOURCES = \
299         exception_test_main.cc \
300         exception_test_1.cc \
301         exception_test_2.cc \
302         exception_test.h
303 exception_test_DEPENDENCIES = gcctestdir/ld
304 exception_test_LDFLAGS = -Bgcctestdir/
305
306 exception_static_test_SOURCES = \
307         exception_test_main.cc \
308         exception_test_1.cc \
309         exception_test_2.cc
310 exception_static_test_DEPENDENCIES = gcctestdir/ld
311 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
312
313 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
314 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
315 exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
316 exception_shared_1_test_LDADD = exception_shared_1.so
317
318 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
319 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
320 exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
321 exception_shared_2_test_LDADD = exception_shared_2.so
322
323 exception_same_shared_test_SOURCES = exception_test_main.cc
324 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
325 exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
326 exception_same_shared_test_LDADD = exception_shared.so
327
328 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
329 exception_separate_shared_12_test_DEPENDENCIES = \
330         gcctestdir/ld exception_shared_1.so exception_shared_2.so
331 exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
332 exception_separate_shared_12_test_LDADD = \
333         exception_shared_1.so exception_shared_2.so
334
335 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
336 exception_separate_shared_21_test_DEPENDENCIES = \
337         gcctestdir/ld exception_shared_1.so exception_shared_2.so
338 exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
339 exception_separate_shared_21_test_LDADD = \
340         exception_shared_2.so exception_shared_1.so
341
342 exception_test_1_pic.o: exception_test_1.cc
343         $(CXXCOMPILE) -c -fpic -o $@ $<
344 exception_test_2_pic.o: exception_test_2.cc
345         $(CXXCOMPILE) -c -fpic -o $@ $<
346
347 exception_shared_1.so: exception_test_1_pic.o
348         $(CXXLINK) -shared exception_test_1_pic.o
349 exception_shared_2.so: exception_test_2_pic.o
350         $(CXXLINK) -shared exception_test_2_pic.o
351 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o
352         $(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o
353
354 weak_test_SOURCES = weak_test.cc
355 weak_test_LDFLAGS = -Bgcctestdir/
356
357 if TLS
358
359 tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
360 tls_test_DEPENDENCIES = gcctestdir/ld
361 tls_test_LDFLAGS = -Bgcctestdir/
362 tls_test_LDADD = -lpthread
363
364 tls_pic_test_SOURCES = tls_test_main.cc
365 tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
366 tls_pic_test_LDFLAGS = -Bgcctestdir/
367 tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
368
369 tls_static_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc
370 tls_static_test_DEPENDENCIES = gcctestdir/ld
371 tls_static_test_LDFLAGS = -Bgcctestdir/ -static
372 tls_static_test_LDADD = -lpthread
373
374 tls_static_pic_test_SOURCES = tls_test_main.cc
375 tls_static_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
376 tls_static_pic_test_LDFLAGS = -Bgcctestdir/ -static
377 tls_static_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
378
379 tls_shared_test_SOURCES = tls_test_main.cc
380 tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so
381 tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
382 tls_shared_test_LDADD = tls_test_shared.so -lpthread
383
384 tls_test_pic.o: tls_test.cc
385         $(CXXCOMPILE) -c -fpic -o $@ $<
386
387 tls_test_file2_pic.o: tls_test_file2.cc
388         $(CXXCOMPILE) -c -fpic -o $@ $<
389
390 tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o
391         $(CXXLINK) -shared tls_test_pic.o tls_test_file2_pic.o
392
393 if FN_PTRS_IN_SO_WITHOUT_PIC
394
395 tls_shared_nonpic_test_SOURCES = tls_test_main.cc
396 tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so
397 tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
398 tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread
399
400 tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o
401         $(CXXLINK) -shared tls_test.o tls_test_file2.o
402
403 endif
404
405 endif
406
407 endif
408 endif