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