1 # Process this file with automake to generate Makefile.in
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.
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
12 AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CXXFLAGS) -fmerge-constants
15 -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
16 -I$(srcdir)/../../elfcpp \
17 -DLOCALEDIR="\"$(datadir)/locale\"" \
21 THREADSLIB = -lpthread
24 check_SCRIPTS = debug_msg.sh
27 TESTS = object_unittest
33 TESTS += debug_msg.sh undef_symbol.sh
35 check_DATA += debug_msg.err undef_symbol.err
39 constructor_static_test \
41 two_file_static_test \
43 two_file_shared_1_test \
44 two_file_shared_2_test \
45 two_file_shared_1_pic_2_test \
46 two_file_shared_2_pic_1_test \
47 two_file_same_shared_test \
48 two_file_separate_shared_12_test \
49 two_file_separate_shared_21_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 \
56 exception_separate_shared_21_test \
59 if FN_PTRS_IN_SO_WITHOUT_PIC
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
85 if FN_PTRS_IN_SO_WITHOUT_PIC
88 tls_shared_nonpic_test
97 basic_static_pic_test \
103 TESTS += $(NATIVE_TESTING)
105 check_LIBRARIES = libgoldtest.a
106 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
109 libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL_DEP)
110 LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
113 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
115 object_unittest_SOURCES = object_unittest.cc
121 gcctestdir/ld: ../ld-new
122 test -d gcctestdir || mkdir -p gcctestdir
124 (cd gcctestdir && $(LN_S) ../../ld-new ld)
126 debug_msg.o: debug_msg.cc
127 $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/debug_msg.cc
128 odr_violation1.o: odr_violation1.cc
129 $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/odr_violation1.cc
130 odr_violation2.o: odr_violation2.cc
131 $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/odr_violation2.cc
132 debug_msg.err: debug_msg.o odr_violation1.o odr_violation2.o gcctestdir/ld
133 @echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@"
134 @if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o 2>$@; \
136 echo 1>&2 "Link of debug_msg.o should have failed"; \
140 undef_symbol.o: undef_symbol.cc
141 $(CXXCOMPILE) -O0 -g -c -fPIC $<
142 undef_symbol.so: undef_symbol.o
143 $(CXXLINK) -shared undef_symbol.o
144 undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld
145 @echo $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@"
146 @if $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so 2>$@; \
148 echo 1>&2 "Link of undef_symbol_test should have failed"; \
152 # Override the default CXXFLAGS--we don't want any optimization
153 basic_test.o: basic_test.cc
154 $(CXXCOMPILE) -O0 -c -o $@ $<
155 basic_test: basic_test.o gcctestdir/ld
156 $(CXXLINK) -Bgcctestdir/ basic_test.o
157 basic_static_test: basic_test.o gcctestdir/ld
158 $(CXXLINK) -Bgcctestdir/ -static basic_test.o
160 basic_pic_test.o: basic_test.cc
161 $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
162 basic_pic_test: basic_pic_test.o gcctestdir/ld
163 $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
164 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
165 $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
167 constructor_test_SOURCES = constructor_test.cc
168 constructor_test_DEPENDENCIES = gcctestdir/ld
169 constructor_test_LDFLAGS = -Bgcctestdir/
171 constructor_static_test_SOURCES = constructor_test.cc
172 constructor_static_test_DEPENDENCIES = gcctestdir/ld
173 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
175 two_file_test_SOURCES = \
178 two_file_test_main.cc \
180 two_file_test_DEPENDENCIES = gcctestdir/ld
181 two_file_test_LDFLAGS = -Bgcctestdir/
183 two_file_static_test_SOURCES = \
184 two_file_test_1.cc two_file_test_2.cc two_file_test_main.cc
185 two_file_static_test_DEPENDENCIES = gcctestdir/ld
186 two_file_static_test_LDFLAGS = -Bgcctestdir/ -static
188 two_file_pic_test_SOURCES = two_file_test_main.cc
189 two_file_pic_test_DEPENDENCIES = \
190 gcctestdir/ld two_file_test_1_pic.o two_file_test_2_pic.o
191 two_file_pic_test_LDFLAGS = -Bgcctestdir/
192 two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_2_pic.o
194 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
195 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
196 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
197 two_file_shared_1_test_LDADD = two_file_shared_1.so
199 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
200 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
201 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
202 two_file_shared_2_test_LDADD = two_file_shared_2.so
204 two_file_shared_1_pic_2_test_SOURCES = two_file_test_main.cc
205 two_file_shared_1_pic_2_test_DEPENDENCIES = \
206 gcctestdir/ld two_file_shared_1.so two_file_test_1_pic.o
207 two_file_shared_1_pic_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
208 two_file_shared_1_pic_2_test_LDADD = two_file_test_1_pic.o two_file_shared_2.so
210 two_file_shared_2_pic_1_test_SOURCES = two_file_test_main.cc
211 two_file_shared_2_pic_1_test_DEPENDENCIES = \
212 gcctestdir/ld two_file_shared_2.so two_file_test_2_pic.o
213 two_file_shared_2_pic_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
214 two_file_shared_2_pic_1_test_LDADD = two_file_test_2_pic.o two_file_shared_1.so
216 two_file_same_shared_test_SOURCES = two_file_test_main.cc
217 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
218 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
219 two_file_same_shared_test_LDADD = two_file_shared.so
221 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
222 two_file_separate_shared_12_test_DEPENDENCIES = \
223 gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
224 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
225 two_file_separate_shared_12_test_LDADD = \
226 two_file_shared_1.so two_file_shared_2.so
228 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
229 two_file_separate_shared_21_test_DEPENDENCIES = \
230 gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
231 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
232 two_file_separate_shared_21_test_LDADD = \
233 two_file_shared_2.so two_file_shared_1.so
235 two_file_test_1_pic.o: two_file_test_1.cc
236 $(CXXCOMPILE) -c -fpic -o $@ $<
237 two_file_test_2_pic.o: two_file_test_2.cc
238 $(CXXCOMPILE) -c -fpic -o $@ $<
240 two_file_shared_1.so: two_file_test_1_pic.o
241 $(CXXLINK) -shared two_file_test_1_pic.o
242 two_file_shared_2.so: two_file_test_2_pic.o
243 $(CXXLINK) -shared two_file_test_2_pic.o
244 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
245 $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
247 # The nonpic tests will fail on platforms which can not put non-PIC
248 # code into shared libraries, so we just don't run them in that case.
250 if FN_PTRS_IN_SO_WITHOUT_PIC
252 two_file_shared_1_nonpic_test_SOURCES = \
253 two_file_test_2.cc two_file_test_main.cc
254 two_file_shared_1_nonpic_test_DEPENDENCIES = \
255 gcctestdir/ld two_file_shared_1_nonpic.so
256 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
257 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
259 two_file_shared_2_nonpic_test_SOURCES = \
260 two_file_test_1.cc two_file_test_main.cc
261 two_file_shared_2_nonpic_test_DEPENDENCIES = \
262 gcctestdir/ld two_file_shared_2_nonpic.so
263 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
264 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
266 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
267 two_file_same_shared_nonpic_test_DEPENDENCIES = \
268 gcctestdir/ld two_file_shared_nonpic.so
269 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
270 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
272 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
273 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
274 gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
275 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
276 two_file_separate_shared_12_nonpic_test_LDADD = \
277 two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
279 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
280 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
281 gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
282 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
283 two_file_separate_shared_21_nonpic_test_LDADD = \
284 two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
286 two_file_shared_1_nonpic.so: two_file_test_1.o
287 $(CXXLINK) -shared two_file_test_1.o
288 two_file_shared_2_nonpic.so: two_file_test_2.o
289 $(CXXLINK) -shared two_file_test_2.o
290 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
291 $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
295 exception_test_SOURCES = \
296 exception_test_main.cc \
297 exception_test_1.cc \
298 exception_test_2.cc \
300 exception_test_DEPENDENCIES = gcctestdir/ld
301 exception_test_LDFLAGS = -Bgcctestdir/
303 exception_static_test_SOURCES = \
304 exception_test_main.cc \
305 exception_test_1.cc \
307 exception_static_test_DEPENDENCIES = gcctestdir/ld
308 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
310 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
311 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
312 exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
313 exception_shared_1_test_LDADD = exception_shared_1.so
315 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
316 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
317 exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
318 exception_shared_2_test_LDADD = exception_shared_2.so
320 exception_same_shared_test_SOURCES = exception_test_main.cc
321 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
322 exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
323 exception_same_shared_test_LDADD = exception_shared.so
325 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
326 exception_separate_shared_12_test_DEPENDENCIES = \
327 gcctestdir/ld exception_shared_1.so exception_shared_2.so
328 exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
329 exception_separate_shared_12_test_LDADD = \
330 exception_shared_1.so exception_shared_2.so
332 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
333 exception_separate_shared_21_test_DEPENDENCIES = \
334 gcctestdir/ld exception_shared_1.so exception_shared_2.so
335 exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
336 exception_separate_shared_21_test_LDADD = \
337 exception_shared_2.so exception_shared_1.so
339 exception_test_1_pic.o: exception_test_1.cc
340 $(CXXCOMPILE) -c -fpic -o $@ $<
341 exception_test_2_pic.o: exception_test_2.cc
342 $(CXXCOMPILE) -c -fpic -o $@ $<
344 exception_shared_1.so: exception_test_1_pic.o
345 $(CXXLINK) -shared exception_test_1_pic.o
346 exception_shared_2.so: exception_test_2_pic.o
347 $(CXXLINK) -shared exception_test_2_pic.o
348 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o
349 $(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o
351 weak_test_SOURCES = weak_test.cc
352 weak_test_LDFLAGS = -Bgcctestdir/
356 tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
357 tls_test_DEPENDENCIES = gcctestdir/ld
358 tls_test_LDFLAGS = -Bgcctestdir/
359 tls_test_LDADD = -lpthread
361 tls_pic_test_SOURCES = tls_test_main.cc
362 tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
363 tls_pic_test_LDFLAGS = -Bgcctestdir/
364 tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
366 tls_static_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc
367 tls_static_test_DEPENDENCIES = gcctestdir/ld
368 tls_static_test_LDFLAGS = -Bgcctestdir/ -static
369 tls_static_test_LDADD = -lpthread
371 tls_static_pic_test_SOURCES = tls_test_main.cc
372 tls_static_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
373 tls_static_pic_test_LDFLAGS = -Bgcctestdir/ -static
374 tls_static_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
376 tls_shared_test_SOURCES = tls_test_main.cc
377 tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so
378 tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
379 tls_shared_test_LDADD = tls_test_shared.so -lpthread
381 tls_test_pic.o: tls_test.cc
382 $(CXXCOMPILE) -c -fpic -o $@ $<
384 tls_test_file2_pic.o: tls_test_file2.cc
385 $(CXXCOMPILE) -c -fpic -o $@ $<
387 tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o
388 $(CXXLINK) -shared tls_test_pic.o tls_test_file2_pic.o
390 if FN_PTRS_IN_SO_WITHOUT_PIC
392 tls_shared_nonpic_test_SOURCES = tls_test_main.cc
393 tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so
394 tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
395 tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread
397 tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o
398 $(CXXLINK) -shared tls_test.o tls_test_file2.o