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_same_shared_test \
46 two_file_separate_shared_12_test \
47 two_file_separate_shared_21_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 \
54 exception_separate_shared_21_test \
57 if FN_PTRS_IN_SO_WITHOUT_PIC
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
83 if FN_PTRS_IN_SO_WITHOUT_PIC
86 tls_shared_nonpic_test
95 basic_static_pic_test \
101 TESTS += $(NATIVE_TESTING)
103 check_LIBRARIES = libgoldtest.a
104 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
107 libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL_DEP)
108 LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
111 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
113 object_unittest_SOURCES = object_unittest.cc
117 debug_msg.o: debug_msg.cc
118 $(CXXCOMPILE) -O0 -g -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>$@; \
122 echo 2>&1 "Link of debug_msg.o should have failed"; \
128 gcctestdir/ld: ../ld-new
129 test -d gcctestdir || mkdir -p gcctestdir
131 (cd gcctestdir && $(LN_S) ../../ld-new ld)
133 # Override the default CXXFLAGS--we don't want any optimization
134 basic_test.o: basic_test.cc
135 $(CXXCOMPILE) -O0 -c -o $@ $<
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
141 basic_pic_test.o: basic_test.cc
142 $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
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
148 constructor_test_SOURCES = constructor_test.cc
149 constructor_test_DEPENDENCIES = gcctestdir/ld
150 constructor_test_LDFLAGS = -Bgcctestdir/
152 constructor_static_test_SOURCES = constructor_test.cc
153 constructor_static_test_DEPENDENCIES = gcctestdir/ld
154 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
156 two_file_test_SOURCES = \
159 two_file_test_main.cc \
161 two_file_test_DEPENDENCIES = gcctestdir/ld
162 two_file_test_LDFLAGS = -Bgcctestdir/
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
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
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
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
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
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
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
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 $@ $<
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
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.
219 if FN_PTRS_IN_SO_WITHOUT_PIC
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
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
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
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
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
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
264 exception_test_SOURCES = \
265 exception_test_main.cc \
266 exception_test_1.cc \
267 exception_test_2.cc \
269 exception_test_DEPENDENCIES = gcctestdir/ld
270 exception_test_LDFLAGS = -Bgcctestdir/
272 exception_static_test_SOURCES = \
273 exception_test_main.cc \
274 exception_test_1.cc \
276 exception_static_test_DEPENDENCIES = gcctestdir/ld
277 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
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
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
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
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
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
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 $@ $<
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
320 weak_test_SOURCES = weak_test.cc
321 weak_test_LDFLAGS = -Bgcctestdir/
325 tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
326 tls_test_DEPENDENCIES = gcctestdir/ld
327 tls_test_LDFLAGS = -Bgcctestdir/
328 tls_test_LDADD = -lpthread
330 tls_pic_test_SOURCES = tls_test_main.cc
331 tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
332 tls_pic_test_LDFLAGS = -Bgcctestdir/
333 tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
335 tls_static_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc
336 tls_static_test_DEPENDENCIES = gcctestdir/ld
337 tls_static_test_LDFLAGS = -Bgcctestdir/ -static
338 tls_static_test_LDADD = -lpthread
340 tls_static_pic_test_SOURCES = tls_test_main.cc
341 tls_static_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
342 tls_static_pic_test_LDFLAGS = -Bgcctestdir/ -static
343 tls_static_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
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
350 tls_test_pic.o: tls_test.cc
351 $(CXXCOMPILE) -c -fpic -o $@ $<
353 tls_test_file2_pic.o: tls_test_file2.cc
354 $(CXXCOMPILE) -c -fpic -o $@ $<
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
359 if FN_PTRS_IN_SO_WITHOUT_PIC
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
366 tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o
367 $(CXXLINK) -shared tls_test.o tls_test_file2.o