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 check_DATA += debug_msg.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
119 debug_msg.o: debug_msg.cc
120 $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/debug_msg.cc
121 debug_msg.err: debug_msg.o
122 if $(CXXLINK) -Bgcctestdir/ -o debug_msg debug_msg.o 2>$@; \
124 echo 2>&1 "Link of debug_msg.o should have failed"; \
130 gcctestdir/ld: ../ld-new
131 test -d gcctestdir || mkdir -p gcctestdir
133 (cd gcctestdir && $(LN_S) ../../ld-new ld)
135 # Override the default CXXFLAGS--we don't want any optimization
136 basic_test.o: basic_test.cc
137 $(CXXCOMPILE) -O0 -c -o $@ $<
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
143 basic_pic_test.o: basic_test.cc
144 $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
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
150 constructor_test_SOURCES = constructor_test.cc
151 constructor_test_DEPENDENCIES = gcctestdir/ld
152 constructor_test_LDFLAGS = -Bgcctestdir/
154 constructor_static_test_SOURCES = constructor_test.cc
155 constructor_static_test_DEPENDENCIES = gcctestdir/ld
156 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
158 two_file_test_SOURCES = \
161 two_file_test_main.cc \
163 two_file_test_DEPENDENCIES = gcctestdir/ld
164 two_file_test_LDFLAGS = -Bgcctestdir/
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
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
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
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
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
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
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
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
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
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 $@ $<
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
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.
233 if FN_PTRS_IN_SO_WITHOUT_PIC
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
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
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
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
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
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
278 exception_test_SOURCES = \
279 exception_test_main.cc \
280 exception_test_1.cc \
281 exception_test_2.cc \
283 exception_test_DEPENDENCIES = gcctestdir/ld
284 exception_test_LDFLAGS = -Bgcctestdir/
286 exception_static_test_SOURCES = \
287 exception_test_main.cc \
288 exception_test_1.cc \
290 exception_static_test_DEPENDENCIES = gcctestdir/ld
291 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
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
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
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
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
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
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 $@ $<
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
334 weak_test_SOURCES = weak_test.cc
335 weak_test_LDFLAGS = -Bgcctestdir/
339 tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
340 tls_test_DEPENDENCIES = gcctestdir/ld
341 tls_test_LDFLAGS = -Bgcctestdir/
342 tls_test_LDADD = -lpthread
344 tls_pic_test_SOURCES = tls_test_main.cc
345 tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
346 tls_pic_test_LDFLAGS = -Bgcctestdir/
347 tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
349 tls_static_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc
350 tls_static_test_DEPENDENCIES = gcctestdir/ld
351 tls_static_test_LDFLAGS = -Bgcctestdir/ -static
352 tls_static_test_LDADD = -lpthread
354 tls_static_pic_test_SOURCES = tls_test_main.cc
355 tls_static_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
356 tls_static_pic_test_LDFLAGS = -Bgcctestdir/ -static
357 tls_static_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
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
364 tls_test_pic.o: tls_test.cc
365 $(CXXCOMPILE) -c -fpic -o $@ $<
367 tls_test_file2_pic.o: tls_test_file2.cc
368 $(CXXCOMPILE) -c -fpic -o $@ $<
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
373 if FN_PTRS_IN_SO_WITHOUT_PIC
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
380 tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o
381 $(CXXLINK) -shared tls_test.o tls_test_file2.o