From Craig Silverstein: don't run function pointer non-PIC tests when
[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         exception_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
36
37 if FN_PTRS_IN_SO_WITHOUT_PIC
38
39 NATIVE_PROGS += \
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
45
46 endif
47
48 NATIVE_TESTING = \
49         basic_test \
50         basic_pic_test \
51         basic_static_test \
52         basic_static_pic_test \
53         $(NATIVE_PROGS)
54
55 endif
56 endif
57
58 TESTS = object_unittest $(NATIVE_TESTING)
59
60 check_LIBRARIES = libgoldtest.a
61 libgoldtest_a_SOURCES = test.cc testmain.cc testfile.cc
62
63 LDADD = libgoldtest.a ../libgold.a
64
65 check_PROGRAMS = object_unittest $(NATIVE_PROGS)
66
67 object_unittest_SOURCES = object_unittest.cc
68
69 if GCC
70 if NATIVE_LINKER
71
72 gcctestdir/ld: ../ld-new
73         test -d gcctestdir || mkdir -p gcctestdir
74         rm -f gcctestdir/ld
75         (cd gcctestdir && $(LN_S) ../../ld-new ld)
76
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
84
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
91
92 constructor_test_SOURCES = constructor_test.cc
93 constructor_test_DEPENDENCIES = gcctestdir/ld
94 constructor_test_LDFLAGS = -Bgcctestdir/
95
96 constructor_static_test_SOURCES = constructor_test.cc
97 constructor_static_test_DEPENDENCIES = gcctestdir/ld
98 constructor_static_test_LDFLAGS = -Bgcctestdir/ -static
99
100 two_file_test_SOURCES = \
101         two_file_test_1.cc \
102         two_file_test_2.cc \
103         two_file_test_main.cc \
104         two_file_test.h
105 two_file_test_DEPENDENCIES = gcctestdir/ld
106 two_file_test_LDFLAGS = -Bgcctestdir/
107
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
112
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
117
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
122
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
129
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
136
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 $@ $<
141
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
148
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.
151
152 if FN_PTRS_IN_SO_WITHOUT_PIC
153
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
160
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
167
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
173
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
180
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
187
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
194
195 endif
196
197 exception_test_SOURCES = \
198         exception_test_main.cc \
199         exception_test_1.cc \
200         exception_test_2.cc \
201         exception_test.h
202 exception_test_DEPENDENCIES = gcctestdir/ld
203 exception_test_LDFLAGS = -Bgcctestdir/
204
205 exception_static_test_SOURCES = \
206         exception_test_main.cc \
207         exception_test_1.cc \
208         exception_test_2.cc
209 exception_static_test_DEPENDENCIES = gcctestdir/ld
210 exception_static_test_LDFLAGS = -Bgcctestdir/ -static
211
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
216
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
221
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
226
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
233
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
240
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 $@ $<
245
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
252
253 endif
254 endif