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