Commit | Line | Data |
---|---|---|
5a6f7e2d ILT |
1 | # Process this file with automake to generate Makefile.in |
2 | ||
537b5f51 ILT |
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 | ||
5a6f7e2d ILT |
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 | ||
22dc1b09 ILT |
17 | if GCC |
18 | if NATIVE_LINKER | |
d5026652 | 19 | |
3bd52c28 ILT |
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 \ | |
3151305a ILT |
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 | |
3bd52c28 | 41 | |
56ba9a23 ILT |
42 | NATIVE_TESTING = \ |
43 | basic_test \ | |
44 | basic_pic_test \ | |
45 | basic_static_test \ | |
d5026652 | 46 | basic_static_pic_test \ |
3bd52c28 | 47 | $(NATIVE_PROGS) |
d5026652 | 48 | |
22dc1b09 ILT |
49 | endif |
50 | endif | |
51 | ||
52 | TESTS = object_unittest $(NATIVE_TESTING) | |
5a6f7e2d ILT |
53 | |
54 | check_LIBRARIES = libgoldtest.a | |
55 | libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc | |
56 | ||
57 | LDADD = libgoldtest.a ../libgold.a | |
58 | ||
d5026652 | 59 | check_PROGRAMS = object_unittest $(NATIVE_PROGS) |
5a6f7e2d ILT |
60 | |
61 | object_unittest_SOURCES = object_unittest.cc | |
22dc1b09 ILT |
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 | |
56ba9a23 | 72 | basic_test.o: basic_test.cc |
22dc1b09 | 73 | $(CXXCOMPILE) -O0 -c -o $@ $< |
56ba9a23 ILT |
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 | |
22dc1b09 | 78 | |
56ba9a23 | 79 | basic_pic_test.o: basic_test.cc |
22dc1b09 | 80 | $(CXXCOMPILE) -O0 -c -fpic -o $@ $< |
56ba9a23 ILT |
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 | |
22dc1b09 | 85 | |
d5026652 ILT |
86 | constructor_test_SOURCES = constructor_test.cc |
87 | constructor_test_DEPENDENCIES = gcctestdir/ld | |
88 | constructor_test_LDFLAGS = -Bgcctestdir/ | |
89 | ||
cb615bc1 ILT |
90 | constructor_static_test_SOURCES = constructor_test.cc |
91 | constructor_static_test_DEPENDENCIES = gcctestdir/ld | |
92 | constructor_static_test_LDFLAGS = -Bgcctestdir/ -static | |
93 | ||
3bd52c28 ILT |
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 | ||
3151305a ILT |
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 | ||
22dc1b09 ILT |
243 | endif |
244 | endif |