]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/crossconfig.m4
RISC-V: Fix nested function trampolines.
[thirdparty/gcc.git] / libstdc++-v3 / crossconfig.m4
CommitLineData
ff66d28f 1dnl
552afe9e 2dnl This file contains details for non-native builds.
ff66d28f
PE
3dnl
4
c41f82b2 5AC_DEFUN([GLIBCXX_CROSSCONFIG],[
ff66d28f
PE
6# Base decisions on target environment.
7case "${host}" in
4c24b21a
MM
8 arm*-*-symbianelf*)
9 # This is a freestanding configuration; there is nothing to do here.
10 ;;
11
6649ad7e
FMA
12 avr*-*-*)
13 AC_DEFINE(HAVE_ACOSF)
14 AC_DEFINE(HAVE_ASINF)
15 AC_DEFINE(HAVE_ATAN2F)
16 AC_DEFINE(HAVE_ATANF)
17 AC_DEFINE(HAVE_CEILF)
18 AC_DEFINE(HAVE_COSF)
19 AC_DEFINE(HAVE_COSHF)
20 AC_DEFINE(HAVE_EXPF)
21 AC_DEFINE(HAVE_FABSF)
22 AC_DEFINE(HAVE_FLOORF)
23 AC_DEFINE(HAVE_FMODF)
24 AC_DEFINE(HAVE_FREXPF)
25 AC_DEFINE(HAVE_SQRTF)
26 AC_DEFINE(HAVE_HYPOTF)
27 AC_DEFINE(HAVE_LDEXPF)
28 AC_DEFINE(HAVE_LOG10F)
29 AC_DEFINE(HAVE_LOGF)
30 AC_DEFINE(HAVE_MODFF)
31 AC_DEFINE(HAVE_POWF)
32 AC_DEFINE(HAVE_SINF)
33 AC_DEFINE(HAVE_SINHF)
34 AC_DEFINE(HAVE_TANF)
35 AC_DEFINE(HAVE_TANHF)
36 ;;
37
d9dced13
RS
38 mips*-sde-elf*)
39 # These definitions are for the SDE C library rather than newlib.
d9dced13
RS
40 SECTION_FLAGS='-ffunction-sections -fdata-sections'
41 AC_SUBST(SECTION_FLAGS)
42 GLIBCXX_CHECK_COMPILER_FEATURES
43 GLIBCXX_CHECK_LINKER_FEATURES
44 GLIBCXX_CHECK_MATH_SUPPORT
d9dced13 45 GLIBCXX_CHECK_STDLIB_SUPPORT
d9dced13 46
d9dced13
RS
47 AC_DEFINE(HAVE_FINITE)
48 AC_DEFINE(HAVE_HYPOT)
49 AC_DEFINE(HAVE_ISNAN)
50 AC_DEFINE(HAVE_ISINF)
51
52 AC_DEFINE(HAVE_LDEXPF)
53 AC_DEFINE(HAVE_MODF)
54 AC_DEFINE(HAVE_SQRTF)
55 ;;
56
e70c4c41
UW
57 spu-*-elf*)
58 GLIBCXX_CHECK_COMPILER_FEATURES
59 GLIBCXX_CHECK_LINKER_FEATURES
60 GLIBCXX_CHECK_MATH_SUPPORT
61 GLIBCXX_CHECK_STDLIB_SUPPORT
62 AM_ICONV
63 ;;
64
70ed7339
RS
65 *-aix*)
66 GLIBCXX_CHECK_LINKER_FEATURES
67 GLIBCXX_CHECK_MATH_SUPPORT
68 GLIBCXX_CHECK_STDLIB_SUPPORT
69 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
70 # We don't yet support AIX's TLS ABI.
71 #GCC_CHECK_TLS
72 AM_ICONV
73 ;;
74
a6f3e253
GK
75 *-darwin*)
76 # Darwin versions vary, but the linker should work in a cross environment,
77 # so we just check for all the features here.
78 # Check for available headers.
a6f3e253 79
a6f3e253
GK
80 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
81 GLIBCXX_CHECK_MATH_SUPPORT
a6f3e253 82 GLIBCXX_CHECK_STDLIB_SUPPORT
a6f3e253
GK
83 ;;
84
185fca74 85 *djgpp)
9f1fd474 86 # GLIBCXX_CHECK_MATH_SUPPORT
9bb68d2a
DD
87 AC_DEFINE(HAVE_ISINF)
88 AC_DEFINE(HAVE_ISNAN)
89 AC_DEFINE(HAVE_FINITE)
9bb68d2a
DD
90 AC_DEFINE(HAVE_SINCOS)
91 AC_DEFINE(HAVE_HYPOT)
185fca74
AH
92 ;;
93
ff66d28f 94 *-freebsd*)
ff66d28f
PE
95 SECTION_FLAGS='-ffunction-sections -fdata-sections'
96 AC_SUBST(SECTION_FLAGS)
97 GLIBCXX_CHECK_LINKER_FEATURES
ff66d28f 98 AC_DEFINE(HAVE_SETENV)
ff66d28f
PE
99 AC_DEFINE(HAVE_FINITEF)
100 AC_DEFINE(HAVE_FINITE)
101 AC_DEFINE(HAVE_FREXPF)
102 AC_DEFINE(HAVE_HYPOT)
103 AC_DEFINE(HAVE_HYPOTF)
104 AC_DEFINE(HAVE_ISINF)
105 AC_DEFINE(HAVE_ISNAN)
106 AC_DEFINE(HAVE_ISNANF)
107
ff66d28f
PE
108 AC_DEFINE(HAVE_ACOSF)
109 AC_DEFINE(HAVE_ASINF)
110 AC_DEFINE(HAVE_ATAN2F)
111 AC_DEFINE(HAVE_ATANF)
112 AC_DEFINE(HAVE_CEILF)
ff66d28f
PE
113 AC_DEFINE(HAVE_COSF)
114 AC_DEFINE(HAVE_COSHF)
115 AC_DEFINE(HAVE_EXPF)
116 AC_DEFINE(HAVE_FABSF)
117 AC_DEFINE(HAVE_FLOORF)
118 AC_DEFINE(HAVE_FMODF)
119 AC_DEFINE(HAVE_FREXPF)
120 AC_DEFINE(HAVE_LDEXPF)
121 AC_DEFINE(HAVE_LOG10F)
122 AC_DEFINE(HAVE_LOGF)
123 AC_DEFINE(HAVE_MODFF)
124 AC_DEFINE(HAVE_POWF)
125 AC_DEFINE(HAVE_SINF)
126 AC_DEFINE(HAVE_SINHF)
127 AC_DEFINE(HAVE_SQRTF)
128 AC_DEFINE(HAVE_TANF)
129 AC_DEFINE(HAVE_TANHF)
130 if test x"long_double_math_on_this_cpu" = x"yes"; then
131 AC_DEFINE(HAVE_FINITEL)
132 AC_DEFINE(HAVE_ISINFL)
133 AC_DEFINE(HAVE_ISNANL)
134 fi
ea4ad78e 135 AC_CHECK_FUNCS(__cxa_thread_atexit)
97ca95ac 136 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
ff66d28f 137 ;;
93f90f7b
JC
138
139 *-fuchsia*)
140 SECTION_FLAGS='-ffunction-sections -fdata-sections'
141 AC_SUBST(SECTION_FLAGS)
142 ;;
143
ff66d28f 144 *-hpux*)
ff66d28f
PE
145 SECTION_FLAGS='-ffunction-sections -fdata-sections'
146 AC_SUBST(SECTION_FLAGS)
147 GLIBCXX_CHECK_LINKER_FEATURES
55c8e6a3
BK
148
149 # GLIBCXX_CHECK_MATH_SUPPORT
150 AC_DEFINE(HAVE_ISNAN)
55c8e6a3
BK
151 AC_DEFINE(HAVE_HYPOT)
152 AC_DEFINE(HAVE_ACOSF)
153 AC_DEFINE(HAVE_ASINF)
154 AC_DEFINE(HAVE_ATANF)
155 AC_DEFINE(HAVE_COSF)
156 AC_DEFINE(HAVE_COSHF)
157 AC_DEFINE(HAVE_SINF)
158 AC_DEFINE(HAVE_SINHF)
159 AC_DEFINE(HAVE_TANF)
160 AC_DEFINE(HAVE_TANHF)
161 AC_DEFINE(HAVE_EXPF)
162 AC_DEFINE(HAVE_ATAN2F)
4564ac62 163 AC_DEFINE(HAVE_FABSF)
55c8e6a3 164 AC_DEFINE(HAVE_FMODF)
ff66d28f 165 AC_DEFINE(HAVE_FREXPF)
55c8e6a3
BK
166 AC_DEFINE(HAVE_LOGF)
167 AC_DEFINE(HAVE_LOG10F)
168 AC_DEFINE(HAVE_MODF)
169 AC_DEFINE(HAVE_POWF)
170 AC_DEFINE(HAVE_SQRTF)
171
55c8e6a3
BK
172 # GLIBCXX_CHECK_STDLIB_SUPPORT
173 AC_DEFINE(HAVE_STRTOLD)
174
175 GCC_CHECK_TLS
ff66d28f
PE
176 case "$target" in
177 *-hpux10*)
ff66d28f
PE
178 AC_DEFINE(HAVE_ISINF)
179 AC_DEFINE(HAVE_ISINFF)
ff66d28f 180 AC_DEFINE(HAVE_ISNANF)
55c8e6a3
BK
181 AC_DEFINE(HAVE_FINITE)
182 AC_DEFINE(HAVE_FINITEF)
ff66d28f
PE
183 ;;
184 esac
185 ;;
e34fd4dc 186 *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin* | *-solaris*)
464aea98 187 GLIBCXX_CHECK_COMPILER_FEATURES
ff66d28f 188 GLIBCXX_CHECK_LINKER_FEATURES
464aea98 189 GLIBCXX_CHECK_MATH_SUPPORT
464aea98 190 GLIBCXX_CHECK_STDLIB_SUPPORT
bffc9d79 191 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
55c8e6a3 192 GCC_CHECK_TLS
3c97fe77 193 AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
77e6870d 194 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
bffc9d79 195 AM_ICONV
ff66d28f
PE
196 ;;
197 *-mingw32*)
ff66d28f 198 GLIBCXX_CHECK_LINKER_FEATURES
53f506ed
BK
199 GLIBCXX_CHECK_MATH_SUPPORT
200 GLIBCXX_CHECK_STDLIB_SUPPORT
97ca95ac 201 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
b0292359 202 AC_CHECK_FUNCS(_wfopen)
ff66d28f 203 ;;
4f9eae9f 204 *-netbsd* | *-openbsd*)
ff66d28f
PE
205 SECTION_FLAGS='-ffunction-sections -fdata-sections'
206 AC_SUBST(SECTION_FLAGS)
207 GLIBCXX_CHECK_LINKER_FEATURES
ff66d28f
PE
208 AC_DEFINE(HAVE_FINITEF)
209 AC_DEFINE(HAVE_FINITE)
210 AC_DEFINE(HAVE_FREXPF)
211 AC_DEFINE(HAVE_HYPOTF)
212 AC_DEFINE(HAVE_ISINF)
213 AC_DEFINE(HAVE_ISINFF)
214 AC_DEFINE(HAVE_ISNAN)
215 AC_DEFINE(HAVE_ISNANF)
216 if test x"long_double_math_on_this_cpu" = x"yes"; then
217 AC_DEFINE(HAVE_FINITEL)
218 AC_DEFINE(HAVE_ISINFL)
219 AC_DEFINE(HAVE_ISNANL)
220 fi
95c921d1 221 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
ff66d28f
PE
222 ;;
223 *-qnx6.1* | *-qnx6.2*)
ff66d28f
PE
224 SECTION_FLAGS='-ffunction-sections -fdata-sections'
225 AC_SUBST(SECTION_FLAGS)
226 GLIBCXX_CHECK_LINKER_FEATURES
ff66d28f
PE
227 AC_DEFINE(HAVE_COSF)
228 AC_DEFINE(HAVE_COSL)
229 AC_DEFINE(HAVE_COSHF)
230 AC_DEFINE(HAVE_COSHL)
231 AC_DEFINE(HAVE_LOGF)
232 AC_DEFINE(HAVE_LOGL)
233 AC_DEFINE(HAVE_LOG10F)
234 AC_DEFINE(HAVE_LOG10L)
235 AC_DEFINE(HAVE_SINF)
236 AC_DEFINE(HAVE_SINL)
237 AC_DEFINE(HAVE_SINHF)
238 AC_DEFINE(HAVE_SINHL)
239 ;;
07ecaaf9
RC
240 *-rtems*)
241 GLIBCXX_CHECK_COMPILER_FEATURES
242 GLIBCXX_CHECK_LINKER_FEATURES
243 GLIBCXX_CHECK_MATH_SUPPORT
244 GLIBCXX_CHECK_STDLIB_SUPPORT
245 ;;
6e198ee0 246 *-tpf)
6e198ee0 247 SECTION_FLAGS='-ffunction-sections -fdata-sections'
40f93bb5 248 SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
6e198ee0 249 AC_SUBST(SECTION_FLAGS)
6e198ee0
UW
250 AC_DEFINE(HAVE_FINITE)
251 AC_DEFINE(HAVE_FINITEF)
252 AC_DEFINE(HAVE_FREXPF)
253 AC_DEFINE(HAVE_HYPOTF)
254 AC_DEFINE(HAVE_ISINF)
255 AC_DEFINE(HAVE_ISINFF)
256 AC_DEFINE(HAVE_ISNAN)
257 AC_DEFINE(HAVE_ISNANF)
258 AC_DEFINE(HAVE_SINCOS)
259 AC_DEFINE(HAVE_SINCOSF)
260 if test x"long_double_math_on_this_cpu" = x"yes"; then
261 AC_DEFINE(HAVE_FINITEL)
262 AC_DEFINE(HAVE_HYPOTL)
263 AC_DEFINE(HAVE_ISINFL)
264 AC_DEFINE(HAVE_ISNANL)
265 fi
266 ;;
db435dce
TG
267 *-*vms*)
268 # Check for available headers.
269 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
270 GLIBCXX_CHECK_MATH_SUPPORT
271 GLIBCXX_CHECK_STDLIB_SUPPORT
272 ;;
65fc9769 273 *-vxworks)
65fc9769
PE
274 AC_DEFINE(HAVE_ACOSF)
275 AC_DEFINE(HAVE_ASINF)
276 AC_DEFINE(HAVE_ATAN2F)
277 AC_DEFINE(HAVE_ATANF)
278 AC_DEFINE(HAVE_CEILF)
279 AC_DEFINE(HAVE_COSF)
280 AC_DEFINE(HAVE_COSHF)
281 AC_DEFINE(HAVE_EXPF)
282 AC_DEFINE(HAVE_FABSF)
283 AC_DEFINE(HAVE_FLOORF)
284 AC_DEFINE(HAVE_FMODF)
285 AC_DEFINE(HAVE_HYPOT)
286 AC_DEFINE(HAVE_LOG10F)
287 AC_DEFINE(HAVE_LOGF)
288 AC_DEFINE(HAVE_POWF)
289 AC_DEFINE(HAVE_SINF)
290 AC_DEFINE(HAVE_SINHF)
291 AC_DEFINE(HAVE_SQRTF)
292 AC_DEFINE(HAVE_TANF)
293 AC_DEFINE(HAVE_TANHF)
294 ;;
ff66d28f
PE
295 *)
296 AC_MSG_ERROR([No support for this host/target combination.])
297 ;;
298esac
c41f82b2 299])