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
14 INCLUDES = -D_GNU_SOURCE \
15 -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
16 -I$(srcdir)/../../elfcpp \
17 -DLOCALEDIR="\"$(datadir)/locale\"" \
20 TESTS = object_unittest
29 constructor_static_test \
31 two_file_static_test \
33 two_file_shared_1_test \
34 two_file_shared_2_test \
35 two_file_same_shared_test \
36 two_file_separate_shared_12_test \
37 two_file_separate_shared_21_test \
39 exception_static_test \
40 exception_shared_1_test \
41 exception_shared_2_test \
42 exception_same_shared_test \
43 exception_separate_shared_12_test \
44 exception_separate_shared_21_test \
47 if FN_PTRS_IN_SO_WITHOUT_PIC
50 two_file_shared_1_nonpic_test \
51 two_file_shared_2_nonpic_test \
52 two_file_same_shared_nonpic_test \
53 two_file_separate_shared_12_nonpic_test \
54 two_file_separate_shared_21_nonpic_test
73 if FN_PTRS_IN_SO_WITHOUT_PIC
76 tls_shared_nonpic_test
85 basic_static_pic_test \
91 TESTS += $(NATIVE_TESTING)
93 check_LIBRARIES = libgoldtest.a
94 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
97 libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL_DEP)
98 LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL)
100 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
102 object_unittest_SOURCES = object_unittest.cc
108 gcctestdir/ld: ../ld-new
109 test -d gcctestdir || mkdir -p gcctestdir
111 (cd gcctestdir && $(LN_S) ../../ld-new ld)
113 # Override the default CXXFLAGS--we don't want any optimization
114 basic_test.o: basic_test.cc
115 $(CXXCOMPILE) -O0 -c -o $@ $<
116 basic_test: basic_test.o gcctestdir/ld
117 $(CXXLINK) -Bgcctestdir/ basic_test.o
118 basic_static_test: basic_test.o gcctestdir/ld
119 $(CXXLINK) -Bgcctestdir/ -static basic_test.o
121 basic_pic_test.o: basic_test.cc
122 $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
123 basic_pic_test: basic_pic_test.o gcctestdir/ld
124 $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
125 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
126 $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
128 constructor_test_SOURCES = constructor_test.cc
129 constructor_test_DEPENDENCIES = gcctestdir/ld
130 constructor_test_LDFLAGS = -Bgcctestdir/
132 constructor_static_test_SOURCES = constructor_test.cc
133 constructor_static_test_DEPENDENCIES = gcctestdir/ld
134 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
136 two_file_test_SOURCES = \
139 two_file_test_main.cc \
141 two_file_test_DEPENDENCIES = gcctestdir/ld
142 two_file_test_LDFLAGS = -Bgcctestdir/
144 two_file_static_test_SOURCES = \
145 two_file_test_1.cc two_file_test_2.cc two_file_test_main.cc
146 two_file_static_test_DEPENDENCIES = gcctestdir/ld
147 two_file_static_test_LDFLAGS = -Bgcctestdir/ -static
149 two_file_pic_test_SOURCES = two_file_test_main.cc
150 two_file_pic_test_DEPENDENCIES = \
151 gcctestdir/ld two_file_test_1_pic.o two_file_test_2_pic.o
152 two_file_pic_test_LDFLAGS = -Bgcctestdir/
153 two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_2_pic.o
155 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
156 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
157 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
158 two_file_shared_1_test_LDADD = two_file_shared_1.so
160 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
161 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
162 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
163 two_file_shared_2_test_LDADD = two_file_shared_2.so
165 two_file_same_shared_test_SOURCES = two_file_test_main.cc
166 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
167 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
168 two_file_same_shared_test_LDADD = two_file_shared.so
170 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
171 two_file_separate_shared_12_test_DEPENDENCIES = \
172 gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
173 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
174 two_file_separate_shared_12_test_LDADD = \
175 two_file_shared_1.so two_file_shared_2.so
177 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
178 two_file_separate_shared_21_test_DEPENDENCIES = \
179 gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
180 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
181 two_file_separate_shared_21_test_LDADD = \
182 two_file_shared_2.so two_file_shared_1.so
184 two_file_test_1_pic.o: two_file_test_1.cc
185 $(CXXCOMPILE) -c -fpic -o $@ $<
186 two_file_test_2_pic.o: two_file_test_2.cc
187 $(CXXCOMPILE) -c -fpic -o $@ $<
189 two_file_shared_1.so: two_file_test_1_pic.o
190 $(CXXLINK) -shared two_file_test_1_pic.o
191 two_file_shared_2.so: two_file_test_2_pic.o
192 $(CXXLINK) -shared two_file_test_2_pic.o
193 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
194 $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
196 # The nonpic tests will fail on platforms which can not put non-PIC
197 # code into shared libraries, so we just don't run them in that case.
199 if FN_PTRS_IN_SO_WITHOUT_PIC
201 two_file_shared_1_nonpic_test_SOURCES = \
202 two_file_test_2.cc two_file_test_main.cc
203 two_file_shared_1_nonpic_test_DEPENDENCIES = \
204 gcctestdir/ld two_file_shared_1_nonpic.so
205 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
206 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
208 two_file_shared_2_nonpic_test_SOURCES = \
209 two_file_test_1.cc two_file_test_main.cc
210 two_file_shared_2_nonpic_test_DEPENDENCIES = \
211 gcctestdir/ld two_file_shared_2_nonpic.so
212 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
213 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
215 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
216 two_file_same_shared_nonpic_test_DEPENDENCIES = \
217 gcctestdir/ld two_file_shared_nonpic.so
218 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
219 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
221 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
222 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
223 gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
224 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
225 two_file_separate_shared_12_nonpic_test_LDADD = \
226 two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
228 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
229 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
230 gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
231 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
232 two_file_separate_shared_21_nonpic_test_LDADD = \
233 two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
235 two_file_shared_1_nonpic.so: two_file_test_1.o
236 $(CXXLINK) -shared two_file_test_1.o
237 two_file_shared_2_nonpic.so: two_file_test_2.o
238 $(CXXLINK) -shared two_file_test_2.o
239 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
240 $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
244 exception_test_SOURCES = \
245 exception_test_main.cc \
246 exception_test_1.cc \
247 exception_test_2.cc \
249 exception_test_DEPENDENCIES = gcctestdir/ld
250 exception_test_LDFLAGS = -Bgcctestdir/
252 exception_static_test_SOURCES = \
253 exception_test_main.cc \
254 exception_test_1.cc \
256 exception_static_test_DEPENDENCIES = gcctestdir/ld
257 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
259 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
260 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
261 exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
262 exception_shared_1_test_LDADD = exception_shared_1.so
264 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
265 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
266 exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
267 exception_shared_2_test_LDADD = exception_shared_2.so
269 exception_same_shared_test_SOURCES = exception_test_main.cc
270 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
271 exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
272 exception_same_shared_test_LDADD = exception_shared.so
274 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
275 exception_separate_shared_12_test_DEPENDENCIES = \
276 gcctestdir/ld exception_shared_1.so exception_shared_2.so
277 exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
278 exception_separate_shared_12_test_LDADD = \
279 exception_shared_1.so exception_shared_2.so
281 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
282 exception_separate_shared_21_test_DEPENDENCIES = \
283 gcctestdir/ld exception_shared_1.so exception_shared_2.so
284 exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
285 exception_separate_shared_21_test_LDADD = \
286 exception_shared_2.so exception_shared_1.so
288 exception_test_1_pic.o: exception_test_1.cc
289 $(CXXCOMPILE) -c -fpic -o $@ $<
290 exception_test_2_pic.o: exception_test_2.cc
291 $(CXXCOMPILE) -c -fpic -o $@ $<
293 exception_shared_1.so: exception_test_1_pic.o
294 $(CXXLINK) -shared exception_test_1_pic.o
295 exception_shared_2.so: exception_test_2_pic.o
296 $(CXXLINK) -shared exception_test_2_pic.o
297 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o
298 $(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o
300 weak_test_SOURCES = weak_test.cc
301 weak_test_LDFLAGS = -Bgcctestdir/
305 tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h
306 tls_test_DEPENDENCIES = gcctestdir/ld
307 tls_test_LDFLAGS = -Bgcctestdir/
308 tls_test_LDADD = -lpthread
310 tls_pic_test_SOURCES = tls_test_main.cc
311 tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
312 tls_pic_test_LDFLAGS = -Bgcctestdir/
313 tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
315 tls_static_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc
316 tls_static_test_DEPENDENCIES = gcctestdir/ld
317 tls_static_test_LDFLAGS = -Bgcctestdir/ -static
318 tls_static_test_LDADD = -lpthread
320 tls_static_pic_test_SOURCES = tls_test_main.cc
321 tls_static_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o
322 tls_static_pic_test_LDFLAGS = -Bgcctestdir/ -static
323 tls_static_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o -lpthread
325 tls_shared_test_SOURCES = tls_test_main.cc
326 tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so
327 tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
328 tls_shared_test_LDADD = tls_test_shared.so -lpthread
330 tls_test_pic.o: tls_test.cc
331 $(CXXCOMPILE) -c -fpic -o $@ $<
333 tls_test_file2_pic.o: tls_test_file2.cc
334 $(CXXCOMPILE) -c -fpic -o $@ $<
336 tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o
337 $(CXXLINK) -shared tls_test_pic.o tls_test_file2_pic.o
339 if FN_PTRS_IN_SO_WITHOUT_PIC
341 tls_shared_nonpic_test_SOURCES = tls_test_main.cc
342 tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so
343 tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
344 tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread
346 tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o
347 $(CXXLINK) -shared tls_test.o tls_test_file2.o