Add basic exception frame header, plus test.
[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 AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CXXFLAGS)
10
11 INCLUDES = -D_GNU_SOURCE \
12         -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
13         -I$(srcdir)/../../elfcpp \
14         -DLOCALEDIR="\"$(datadir)/locale\"" \
15         @INCINTL@
16
17 if GCC
18 if NATIVE_LINKER
19
20 NATIVE_PROGS = \
21         constructor_test \
22         constructor_static_test \
23         two_file_test \
24         two_file_shared_1_test \
25         two_file_shared_2_test \
26         two_file_same_shared_test \
27         two_file_separate_shared_12_test \
28         two_file_separate_shared_21_test \
29         two_file_shared_1_nonpic_test \
30         two_file_shared_2_nonpic_test \
31         two_file_same_shared_nonpic_test \
32         two_file_separate_shared_12_nonpic_test \
33         two_file_separate_shared_21_nonpic_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 NATIVE_TESTING = \
43         basic_test \
44         basic_pic_test \
45         basic_static_test \
46         basic_static_pic_test \
47         $(NATIVE_PROGS)
48
49 endif
50 endif
51
52 TESTS = object_unittest $(NATIVE_TESTING)
53
54 check_LIBRARIES = libgoldtest.a
55 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
56
57 LDADD = libgoldtest.a ../libgold.a
58
59 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
60
61 object_unittest_SOURCES = object_unittest.cc
62
63 if GCC
64 if NATIVE_LINKER
65
66 gcctestdir/ld: ../ld-new
67         test -d gcctestdir || mkdir -p gcctestdir
68         rm -f gcctestdir/ld
69         (cd gcctestdir && $(LN_S) ../../ld-new ld)
70
71 # Override the default CXXFLAGS--we don't want any optimization
72 basic_test.o: basic_test.cc
73         $(CXXCOMPILE) -O0 -c -o $@ $<
74 basic_test: basic_test.o gcctestdir/ld
75         $(CXXLINK) -Bgcctestdir/ basic_test.o
76 basic_static_test: basic_test.o gcctestdir/ld
77         $(CXXLINK) -Bgcctestdir/ -static basic_test.o
78
79 basic_pic_test.o: basic_test.cc
80         $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
81 basic_pic_test: basic_pic_test.o gcctestdir/ld
82         $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
83 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
84         $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
85
86 constructor_test_SOURCES = constructor_test.cc
87 constructor_test_DEPENDENCIES = gcctestdir/ld
88 constructor_test_LDFLAGS = -Bgcctestdir/
89
90 constructor_static_test_SOURCES = constructor_test.cc
91 constructor_static_test_DEPENDENCIES = gcctestdir/ld
92 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
93
94 two_file_test_SOURCES = \
95         two_file_test_1.cc \
96         two_file_test_2.cc \
97         two_file_test_main.cc \
98         two_file_test.h
99 two_file_test_DEPENDENCIES = gcctestdir/ld
100 two_file_test_LDFLAGS = -Bgcctestdir/
101
102 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
103 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
104 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
105 two_file_shared_1_test_LDADD = two_file_shared_1.so
106
107 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
108 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
109 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
110 two_file_shared_2_test_LDADD = two_file_shared_2.so
111
112 two_file_same_shared_test_SOURCES = two_file_test_main.cc
113 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
114 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
115 two_file_same_shared_test_LDADD = two_file_shared.so
116
117 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
118 two_file_separate_shared_12_test_DEPENDENCIES = \
119         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
120 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
121 two_file_separate_shared_12_test_LDADD = \
122         two_file_shared_1.so two_file_shared_2.so
123
124 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
125 two_file_separate_shared_21_test_DEPENDENCIES = \
126         gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
127 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
128 two_file_separate_shared_21_test_LDADD = \
129         two_file_shared_2.so two_file_shared_1.so
130
131 # FIXME: The nonpic tests will fail on platforms which can not put
132 # non-PIC code into shared libraries; how should we handle this?
133
134 two_file_shared_1_nonpic_test_SOURCES = \
135         two_file_test_2.cc two_file_test_main.cc
136 two_file_shared_1_nonpic_test_DEPENDENCIES = \
137         gcctestdir/ld two_file_shared_1_nonpic.so
138 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
139 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
140
141 two_file_shared_2_nonpic_test_SOURCES = \
142         two_file_test_1.cc two_file_test_main.cc
143 two_file_shared_2_nonpic_test_DEPENDENCIES = \
144         gcctestdir/ld two_file_shared_2_nonpic.so
145 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
146 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
147
148 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
149 two_file_same_shared_nonpic_test_DEPENDENCIES = \
150         gcctestdir/ld two_file_shared_nonpic.so
151 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
152 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
153
154 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
155 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
156         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
157 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
158 two_file_separate_shared_12_nonpic_test_LDADD = \
159         two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
160
161 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
162 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
163         gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
164 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
165 two_file_separate_shared_21_nonpic_test_LDADD = \
166         two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
167
168 two_file_test_1_pic.o: two_file_test_1.cc
169         $(CXXCOMPILE) -c -fpic -o $@ $<
170 two_file_test_2_pic.o: two_file_test_2.cc
171         $(CXXCOMPILE) -c -fpic -o $@ $<
172
173 two_file_shared_1.so: two_file_test_1_pic.o
174         $(CXXLINK) -shared two_file_test_1_pic.o
175 two_file_shared_2.so: two_file_test_2_pic.o
176         $(CXXLINK) -shared two_file_test_2_pic.o
177 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
178         $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
179
180 two_file_shared_1_nonpic.so: two_file_test_1.o
181         $(CXXLINK) -shared two_file_test_1.o
182 two_file_shared_2_nonpic.so: two_file_test_2.o
183         $(CXXLINK) -shared two_file_test_2.o
184 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
185         $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
186
187 exception_test_SOURCES = \
188         exception_test_main.cc \
189         exception_test_1.cc \
190         exception_test_2.cc \
191         exception_test.h
192 exception_test_DEPENDENCIES = gcctestdir/ld
193 exception_test_LDFLAGS = -Bgcctestdir/
194
195 exception_static_test_SOURCES = \
196         exception_test_main.cc \
197         exception_test_1.cc \
198         exception_test_2.cc
199 exception_static_test_DEPENDENCIES = gcctestdir/ld
200 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
201
202 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
203 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
204 exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
205 exception_shared_1_test_LDADD = exception_shared_1.so
206
207 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
208 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
209 exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
210 exception_shared_2_test_LDADD = exception_shared_2.so
211
212 exception_same_shared_test_SOURCES = exception_test_main.cc
213 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
214 exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
215 exception_same_shared_test_LDADD = exception_shared.so
216
217 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
218 exception_separate_shared_12_test_DEPENDENCIES = \
219         gcctestdir/ld exception_shared_1.so exception_shared_2.so
220 exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
221 exception_separate_shared_12_test_LDADD = \
222         exception_shared_1.so exception_shared_2.so
223
224 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
225 exception_separate_shared_21_test_DEPENDENCIES = \
226         gcctestdir/ld exception_shared_1.so exception_shared_2.so
227 exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
228 exception_separate_shared_21_test_LDADD = \
229         exception_shared_2.so exception_shared_1.so
230
231 exception_test_1_pic.o: exception_test_1.cc
232         $(CXXCOMPILE) -c -fpic -o $@ $<
233 exception_test_2_pic.o: exception_test_2.cc
234         $(CXXCOMPILE) -c -fpic -o $@ $<
235
236 exception_shared_1.so: exception_test_1_pic.o
237         $(CXXLINK) -shared exception_test_1_pic.o
238 exception_shared_2.so: exception_test_2_pic.o
239         $(CXXLINK) -shared exception_test_2_pic.o
240 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o
241         $(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o
242
243 endif
244 endif