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