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