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 AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CXXFLAGS)
11 INCLUDES = -D_GNU_SOURCE \
12 -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../../include \
13 -I$(srcdir)/../../elfcpp \
14 -DLOCALEDIR="\"$(datadir)/locale\"" \
22 constructor_static_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 \
30 exception_static_test \
31 exception_shared_1_test \
32 exception_shared_2_test \
33 exception_same_shared_test \
34 exception_separate_shared_12_test \
35 exception_separate_shared_21_test
37 if FN_PTRS_IN_SO_WITHOUT_PIC
40 two_file_shared_1_nonpic_test \
41 two_file_shared_2_nonpic_test \
42 two_file_same_shared_nonpic_test \
43 two_file_separate_shared_12_nonpic_test \
44 two_file_separate_shared_21_nonpic_test
52 basic_static_pic_test \
58 TESTS = object_unittest $(NATIVE_TESTING)
60 check_LIBRARIES = libgoldtest.a
61 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
63 LDADD = libgoldtest.a ../libgold.a
65 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
67 object_unittest_SOURCES = object_unittest.cc
72 gcctestdir/ld: ../ld-new
73 test -d gcctestdir || mkdir -p gcctestdir
75 (cd gcctestdir && $(LN_S) ../../ld-new ld)
77 # Override the default CXXFLAGS--we don't want any optimization
78 basic_test.o: basic_test.cc
79 $(CXXCOMPILE) -O0 -c -o $@ $<
80 basic_test: basic_test.o gcctestdir/ld
81 $(CXXLINK) -Bgcctestdir/ basic_test.o
82 basic_static_test: basic_test.o gcctestdir/ld
83 $(CXXLINK) -Bgcctestdir/ -static basic_test.o
85 basic_pic_test.o: basic_test.cc
86 $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
87 basic_pic_test: basic_pic_test.o gcctestdir/ld
88 $(CXXLINK) -Bgcctestdir/ basic_pic_test.o
89 basic_static_pic_test: basic_pic_test.o gcctestdir/ld
90 $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o
92 constructor_test_SOURCES = constructor_test.cc
93 constructor_test_DEPENDENCIES = gcctestdir/ld
94 constructor_test_LDFLAGS = -Bgcctestdir/
96 constructor_static_test_SOURCES = constructor_test.cc
97 constructor_static_test_DEPENDENCIES = gcctestdir/ld
98 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
100 two_file_test_SOURCES = \
103 two_file_test_main.cc \
105 two_file_test_DEPENDENCIES = gcctestdir/ld
106 two_file_test_LDFLAGS = -Bgcctestdir/
108 two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc
109 two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so
110 two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
111 two_file_shared_1_test_LDADD = two_file_shared_1.so
113 two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_main.cc
114 two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so
115 two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
116 two_file_shared_2_test_LDADD = two_file_shared_2.so
118 two_file_same_shared_test_SOURCES = two_file_test_main.cc
119 two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so
120 two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
121 two_file_same_shared_test_LDADD = two_file_shared.so
123 two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc
124 two_file_separate_shared_12_test_DEPENDENCIES = \
125 gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
126 two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
127 two_file_separate_shared_12_test_LDADD = \
128 two_file_shared_1.so two_file_shared_2.so
130 two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc
131 two_file_separate_shared_21_test_DEPENDENCIES = \
132 gcctestdir/ld two_file_shared_1.so two_file_shared_2.so
133 two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
134 two_file_separate_shared_21_test_LDADD = \
135 two_file_shared_2.so two_file_shared_1.so
137 two_file_test_1_pic.o: two_file_test_1.cc
138 $(CXXCOMPILE) -c -fpic -o $@ $<
139 two_file_test_2_pic.o: two_file_test_2.cc
140 $(CXXCOMPILE) -c -fpic -o $@ $<
142 two_file_shared_1.so: two_file_test_1_pic.o
143 $(CXXLINK) -shared two_file_test_1_pic.o
144 two_file_shared_2.so: two_file_test_2_pic.o
145 $(CXXLINK) -shared two_file_test_2_pic.o
146 two_file_shared.so: two_file_test_1_pic.o two_file_test_2_pic.o
147 $(CXXLINK) -shared two_file_test_1_pic.o two_file_test_2_pic.o
149 # The nonpic tests will fail on platforms which can not put non-PIC
150 # code into shared libraries, so we just don't run them in that case.
152 if FN_PTRS_IN_SO_WITHOUT_PIC
154 two_file_shared_1_nonpic_test_SOURCES = \
155 two_file_test_2.cc two_file_test_main.cc
156 two_file_shared_1_nonpic_test_DEPENDENCIES = \
157 gcctestdir/ld two_file_shared_1_nonpic.so
158 two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
159 two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so
161 two_file_shared_2_nonpic_test_SOURCES = \
162 two_file_test_1.cc two_file_test_main.cc
163 two_file_shared_2_nonpic_test_DEPENDENCIES = \
164 gcctestdir/ld two_file_shared_2_nonpic.so
165 two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
166 two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so
168 two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc
169 two_file_same_shared_nonpic_test_DEPENDENCIES = \
170 gcctestdir/ld two_file_shared_nonpic.so
171 two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
172 two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so
174 two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc
175 two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \
176 gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
177 two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
178 two_file_separate_shared_12_nonpic_test_LDADD = \
179 two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
181 two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc
182 two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \
183 gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so
184 two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
185 two_file_separate_shared_21_nonpic_test_LDADD = \
186 two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so
188 two_file_shared_1_nonpic.so: two_file_test_1.o
189 $(CXXLINK) -shared two_file_test_1.o
190 two_file_shared_2_nonpic.so: two_file_test_2.o
191 $(CXXLINK) -shared two_file_test_2.o
192 two_file_shared_nonpic.so: two_file_test_1.o two_file_test_2.o
193 $(CXXLINK) -shared two_file_test_1.o two_file_test_2.o
197 exception_test_SOURCES = \
198 exception_test_main.cc \
199 exception_test_1.cc \
200 exception_test_2.cc \
202 exception_test_DEPENDENCIES = gcctestdir/ld
203 exception_test_LDFLAGS = -Bgcctestdir/
205 exception_static_test_SOURCES = \
206 exception_test_main.cc \
207 exception_test_1.cc \
209 exception_static_test_DEPENDENCIES = gcctestdir/ld
210 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
212 exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc
213 exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so
214 exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
215 exception_shared_1_test_LDADD = exception_shared_1.so
217 exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc
218 exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so
219 exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
220 exception_shared_2_test_LDADD = exception_shared_2.so
222 exception_same_shared_test_SOURCES = exception_test_main.cc
223 exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so
224 exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
225 exception_same_shared_test_LDADD = exception_shared.so
227 exception_separate_shared_12_test_SOURCES = exception_test_main.cc
228 exception_separate_shared_12_test_DEPENDENCIES = \
229 gcctestdir/ld exception_shared_1.so exception_shared_2.so
230 exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
231 exception_separate_shared_12_test_LDADD = \
232 exception_shared_1.so exception_shared_2.so
234 exception_separate_shared_21_test_SOURCES = exception_test_main.cc
235 exception_separate_shared_21_test_DEPENDENCIES = \
236 gcctestdir/ld exception_shared_1.so exception_shared_2.so
237 exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
238 exception_separate_shared_21_test_LDADD = \
239 exception_shared_2.so exception_shared_1.so
241 exception_test_1_pic.o: exception_test_1.cc
242 $(CXXCOMPILE) -c -fpic -o $@ $<
243 exception_test_2_pic.o: exception_test_2.cc
244 $(CXXCOMPILE) -c -fpic -o $@ $<
246 exception_shared_1.so: exception_test_1_pic.o
247 $(CXXLINK) -shared exception_test_1_pic.o
248 exception_shared_2.so: exception_test_2_pic.o
249 $(CXXLINK) -shared exception_test_2_pic.o
250 exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o
251 $(CXXLINK) -shared exception_test_1_pic.o exception_test_2_pic.o