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