crossconfig.m4 revision 1.2 1 dnl
2 dnl This file contains details for non-native builds.
3 dnl
4
5 AC_DEFUN([GLIBCXX_CROSSCONFIG],[
6 # Base decisions on target environment.
7 case "${host}" in
8 arm*-*-symbianelf*)
9 # This is a freestanding configuration; there is nothing to do here.
10 ;;
11
12 mips*-sde-elf*)
13 # These definitions are for the SDE C library rather than newlib.
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
19 GLIBCXX_CHECK_STDLIB_SUPPORT
20
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
31 *-aix*)
32 GLIBCXX_CHECK_LINKER_FEATURES
33 GLIBCXX_CHECK_MATH_SUPPORT
34 GLIBCXX_CHECK_STDLIB_SUPPORT
35 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
36 # We don't yet support AIX's TLS ABI.
37 #GCC_CHECK_TLS
38 AM_ICONV
39 ;;
40
41 *-darwin*)
42 # Darwin versions vary, but the linker should work in a cross environment,
43 # so we just check for all the features here.
44 # Check for available headers.
45
46 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
47 GLIBCXX_CHECK_MATH_SUPPORT
48 GLIBCXX_CHECK_STDLIB_SUPPORT
49 ;;
50
51 *djgpp)
52 # GLIBCXX_CHECK_MATH_SUPPORT
53 AC_DEFINE(HAVE_ISINF)
54 AC_DEFINE(HAVE_ISNAN)
55 AC_DEFINE(HAVE_FINITE)
56 AC_DEFINE(HAVE_SINCOS)
57 AC_DEFINE(HAVE_HYPOT)
58 ;;
59
60 *-freebsd*)
61 SECTION_FLAGS='-ffunction-sections -fdata-sections'
62 AC_SUBST(SECTION_FLAGS)
63 GLIBCXX_CHECK_LINKER_FEATURES
64 AC_DEFINE(HAVE_SETENV)
65 AC_DEFINE(HAVE_FINITEF)
66 AC_DEFINE(HAVE_FINITE)
67 AC_DEFINE(HAVE_FREXPF)
68 AC_DEFINE(HAVE_HYPOT)
69 AC_DEFINE(HAVE_HYPOTF)
70 AC_DEFINE(HAVE_ISINF)
71 AC_DEFINE(HAVE_ISNAN)
72 AC_DEFINE(HAVE_ISNANF)
73
74 AC_DEFINE(HAVE_ACOSF)
75 AC_DEFINE(HAVE_ASINF)
76 AC_DEFINE(HAVE_ATAN2F)
77 AC_DEFINE(HAVE_ATANF)
78 AC_DEFINE(HAVE_CEILF)
79 AC_DEFINE(HAVE_COSF)
80 AC_DEFINE(HAVE_COSHF)
81 AC_DEFINE(HAVE_EXPF)
82 AC_DEFINE(HAVE_FABSF)
83 AC_DEFINE(HAVE_FLOORF)
84 AC_DEFINE(HAVE_FMODF)
85 AC_DEFINE(HAVE_FREXPF)
86 AC_DEFINE(HAVE_LDEXPF)
87 AC_DEFINE(HAVE_LOG10F)
88 AC_DEFINE(HAVE_LOGF)
89 AC_DEFINE(HAVE_MODFF)
90 AC_DEFINE(HAVE_POWF)
91 AC_DEFINE(HAVE_SINF)
92 AC_DEFINE(HAVE_SINHF)
93 AC_DEFINE(HAVE_SQRTF)
94 AC_DEFINE(HAVE_TANF)
95 AC_DEFINE(HAVE_TANHF)
96 if test x"long_double_math_on_this_cpu" = x"yes"; then
97 AC_DEFINE(HAVE_FINITEL)
98 AC_DEFINE(HAVE_ISINFL)
99 AC_DEFINE(HAVE_ISNANL)
100 fi
101 ;;
102 *-hpux*)
103 SECTION_FLAGS='-ffunction-sections -fdata-sections'
104 AC_SUBST(SECTION_FLAGS)
105 GLIBCXX_CHECK_LINKER_FEATURES
106
107 # GLIBCXX_CHECK_MATH_SUPPORT
108 AC_DEFINE(HAVE_ISNAN)
109 AC_DEFINE(HAVE_HYPOT)
110 AC_DEFINE(HAVE_ACOSF)
111 AC_DEFINE(HAVE_ASINF)
112 AC_DEFINE(HAVE_ATANF)
113 AC_DEFINE(HAVE_COSF)
114 AC_DEFINE(HAVE_COSHF)
115 AC_DEFINE(HAVE_SINF)
116 AC_DEFINE(HAVE_SINHF)
117 AC_DEFINE(HAVE_TANF)
118 AC_DEFINE(HAVE_TANHF)
119 AC_DEFINE(HAVE_EXPF)
120 AC_DEFINE(HAVE_ATAN2F)
121 AC_DEFINE(HAVE_FABSF)
122 AC_DEFINE(HAVE_FMODF)
123 AC_DEFINE(HAVE_FREXPF)
124 AC_DEFINE(HAVE_LOGF)
125 AC_DEFINE(HAVE_LOG10F)
126 AC_DEFINE(HAVE_MODF)
127 AC_DEFINE(HAVE_POWF)
128 AC_DEFINE(HAVE_SQRTF)
129
130 # GLIBCXX_CHECK_STDLIB_SUPPORT
131 AC_DEFINE(HAVE_STRTOLD)
132
133 GCC_CHECK_TLS
134 case "$target" in
135 *-hpux10*)
136 AC_DEFINE(HAVE_ISINF)
137 AC_DEFINE(HAVE_ISINFF)
138 AC_DEFINE(HAVE_ISNANF)
139 AC_DEFINE(HAVE_FINITE)
140 AC_DEFINE(HAVE_FINITEF)
141 ;;
142 esac
143 ;;
144 *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
145 GLIBCXX_CHECK_COMPILER_FEATURES
146 GLIBCXX_CHECK_LINKER_FEATURES
147 GLIBCXX_CHECK_MATH_SUPPORT
148 GLIBCXX_CHECK_STDLIB_SUPPORT
149 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
150 GCC_CHECK_TLS
151 AM_ICONV
152 ;;
153 *-mingw32*)
154 GLIBCXX_CHECK_LINKER_FEATURES
155 GLIBCXX_CHECK_MATH_SUPPORT
156 GLIBCXX_CHECK_STDLIB_SUPPORT
157 ;;
158 *-netbsd*)
159 SECTION_FLAGS='-ffunction-sections -fdata-sections'
160 AC_SUBST(SECTION_FLAGS)
161 GLIBCXX_CHECK_LINKER_FEATURES
162
163 AC_DEFINE(HAVE_ICONV)
164 AC_DEFINE(HAVE_ICONV_CLOSE)
165 AC_DEFINE(HAVE_ICONV_OPEN)
166 AC_DEFINE(HAVE_LC_MESSAGES)
167
168 AC_DEFINE(HAVE_MMAP)
169 AC_DEFINE(HAVE_GETPAGESIZE)
170 AC_DEFINE(HAVE_SETENV)
171 AC_DEFINE(HAVE_SIGSETJMP)
172
173 AC_DEFINE(HAVE_FINITEF)
174 AC_DEFINE(HAVE_FINITE)
175 AC_DEFINE(HAVE_FREXPF)
176 AC_DEFINE(HAVE_HYPOT)
177 AC_DEFINE(HAVE_HYPOTF)
178 AC_DEFINE(HAVE_ISINF)
179 AC_DEFINE(HAVE_ISINFF)
180 AC_DEFINE(HAVE_ISNAN)
181 AC_DEFINE(HAVE_ISNANF)
182 AC_DEFINE(HAVE_ACOSF)
183 AC_DEFINE(HAVE_ASINF)
184 AC_DEFINE(HAVE_ATAN2F)
185 AC_DEFINE(HAVE_ATANF)
186 AC_DEFINE(HAVE_CEILF)
187 AC_DEFINE(HAVE_COSF)
188 AC_DEFINE(HAVE_COSHF)
189 AC_DEFINE(HAVE_EXPF)
190 AC_DEFINE(HAVE_FABSF)
191 AC_DEFINE(HAVE_FLOORF)
192 AC_DEFINE(HAVE_FMODF)
193 AC_DEFINE(HAVE_FREXPF)
194 AC_DEFINE(HAVE_LDEXPF)
195 AC_DEFINE(HAVE_LOG10F)
196 AC_DEFINE(HAVE_LOGF)
197 AC_DEFINE(HAVE_MODF)
198 AC_DEFINE(HAVE_MODFF)
199 AC_DEFINE(HAVE_POWF)
200 AC_DEFINE(HAVE_SINF)
201 AC_DEFINE(HAVE_SINHF)
202 AC_DEFINE(HAVE_SQRTF)
203 AC_DEFINE(HAVE_STRTOF)
204 AC_DEFINE(HAVE_STRTOLD)
205 AC_DEFINE(HAVE_TANF)
206 AC_DEFINE(HAVE_TANHF)
207 if test x"long_double_math_on_this_cpu" = x"yes"; then
208 AC_DEFINE(HAVE_FINITEL)
209 AC_DEFINE(HAVE_ISINFL)
210 AC_DEFINE(HAVE_ISNANL)
211 fi
212 ;;
213 *-netware)
214 SECTION_FLAGS='-ffunction-sections -fdata-sections'
215 AC_SUBST(SECTION_FLAGS)
216 GLIBCXX_CHECK_LINKER_FEATURES
217 AC_DEFINE(HAVE_HYPOT)
218 AC_DEFINE(HAVE_ISINF)
219 AC_DEFINE(HAVE_ISNAN)
220 ;;
221 *-qnx6.1* | *-qnx6.2*)
222 SECTION_FLAGS='-ffunction-sections -fdata-sections'
223 AC_SUBST(SECTION_FLAGS)
224 GLIBCXX_CHECK_LINKER_FEATURES
225 AC_DEFINE(HAVE_COSF)
226 AC_DEFINE(HAVE_COSL)
227 AC_DEFINE(HAVE_COSHF)
228 AC_DEFINE(HAVE_COSHL)
229 AC_DEFINE(HAVE_LOGF)
230 AC_DEFINE(HAVE_LOGL)
231 AC_DEFINE(HAVE_LOG10F)
232 AC_DEFINE(HAVE_LOG10L)
233 AC_DEFINE(HAVE_SINF)
234 AC_DEFINE(HAVE_SINL)
235 AC_DEFINE(HAVE_SINHF)
236 AC_DEFINE(HAVE_SINHL)
237 ;;
238 *-solaris*)
239 case "$target" in
240 *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
241 GLIBCXX_CHECK_LINKER_FEATURES
242 AC_DEFINE(HAVE_MBSTATE_T)
243 AC_DEFINE(HAVE_FINITE)
244 AC_DEFINE(HAVE_FPCLASS)
245 # All of the dependencies for wide character support are here, so
246 # turn it on.
247 AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
248 ;;
249 esac
250 case "$target" in
251 *-*-solaris2.10)
252 # These two C99 functions are present only in Solaris >= 10
253 AC_DEFINE(HAVE_STRTOF)
254 AC_DEFINE(HAVE_STRTOLD)
255 ;;
256 esac
257 AC_DEFINE(HAVE_ISNAN)
258 AC_DEFINE(HAVE_ISNANF)
259 AC_DEFINE(HAVE_MODFF)
260 AC_DEFINE(HAVE_HYPOT)
261 ;;
262 *-tpf)
263 SECTION_FLAGS='-ffunction-sections -fdata-sections'
264 AC_SUBST(SECTION_FLAGS)
265 GLIBCXX_CHECK_LINKER_FEATURES
266 AC_DEFINE(HAVE_FINITE)
267 AC_DEFINE(HAVE_FINITEF)
268 AC_DEFINE(HAVE_FREXPF)
269 AC_DEFINE(HAVE_HYPOTF)
270 AC_DEFINE(HAVE_ISINF)
271 AC_DEFINE(HAVE_ISINFF)
272 AC_DEFINE(HAVE_ISNAN)
273 AC_DEFINE(HAVE_ISNANF)
274 AC_DEFINE(HAVE_SINCOS)
275 AC_DEFINE(HAVE_SINCOSF)
276 if test x"long_double_math_on_this_cpu" = x"yes"; then
277 AC_DEFINE(HAVE_FINITEL)
278 AC_DEFINE(HAVE_HYPOTL)
279 AC_DEFINE(HAVE_ISINFL)
280 AC_DEFINE(HAVE_ISNANL)
281 fi
282 ;;
283 *-vxworks)
284 AC_DEFINE(HAVE_ACOSF)
285 AC_DEFINE(HAVE_ASINF)
286 AC_DEFINE(HAVE_ATAN2F)
287 AC_DEFINE(HAVE_ATANF)
288 AC_DEFINE(HAVE_CEILF)
289 AC_DEFINE(HAVE_COSF)
290 AC_DEFINE(HAVE_COSHF)
291 AC_DEFINE(HAVE_EXPF)
292 AC_DEFINE(HAVE_FABSF)
293 AC_DEFINE(HAVE_FLOORF)
294 AC_DEFINE(HAVE_FMODF)
295 AC_DEFINE(HAVE_HYPOT)
296 AC_DEFINE(HAVE_LOG10F)
297 AC_DEFINE(HAVE_LOGF)
298 AC_DEFINE(HAVE_POWF)
299 AC_DEFINE(HAVE_SINF)
300 AC_DEFINE(HAVE_SINHF)
301 AC_DEFINE(HAVE_SQRTF)
302 AC_DEFINE(HAVE_TANF)
303 AC_DEFINE(HAVE_TANHF)
304 ;;
305 *)
306 AC_MSG_ERROR([No support for this host/target combination.])
307 ;;
308 esac
309 ])
310