]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/crossconfig.m4
2012-04-02 Tristan Gingold <gingold@adacore.com>
[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
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
70ed7339
RS
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
a6f3e253
GK
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.
a6f3e253 45
a6f3e253
GK
46 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
47 GLIBCXX_CHECK_MATH_SUPPORT
a6f3e253 48 GLIBCXX_CHECK_STDLIB_SUPPORT
a6f3e253
GK
49 ;;
50
185fca74 51 *djgpp)
9f1fd474 52 # GLIBCXX_CHECK_MATH_SUPPORT
9bb68d2a
DD
53 AC_DEFINE(HAVE_ISINF)
54 AC_DEFINE(HAVE_ISNAN)
55 AC_DEFINE(HAVE_FINITE)
9bb68d2a
DD
56 AC_DEFINE(HAVE_SINCOS)
57 AC_DEFINE(HAVE_HYPOT)
185fca74
AH
58 ;;
59
ff66d28f 60 *-freebsd*)
ff66d28f
PE
61 SECTION_FLAGS='-ffunction-sections -fdata-sections'
62 AC_SUBST(SECTION_FLAGS)
63 GLIBCXX_CHECK_LINKER_FEATURES
ff66d28f 64 AC_DEFINE(HAVE_SETENV)
ff66d28f
PE
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
ff66d28f
PE
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)
ff66d28f
PE
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*)
ff66d28f
PE
103 SECTION_FLAGS='-ffunction-sections -fdata-sections'
104 AC_SUBST(SECTION_FLAGS)
105 GLIBCXX_CHECK_LINKER_FEATURES
55c8e6a3
BK
106
107 # GLIBCXX_CHECK_MATH_SUPPORT
108 AC_DEFINE(HAVE_ISNAN)
55c8e6a3
BK
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)
4564ac62 121 AC_DEFINE(HAVE_FABSF)
55c8e6a3 122 AC_DEFINE(HAVE_FMODF)
ff66d28f 123 AC_DEFINE(HAVE_FREXPF)
55c8e6a3
BK
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
55c8e6a3
BK
130 # GLIBCXX_CHECK_STDLIB_SUPPORT
131 AC_DEFINE(HAVE_STRTOLD)
132
133 GCC_CHECK_TLS
ff66d28f
PE
134 case "$target" in
135 *-hpux10*)
ff66d28f
PE
136 AC_DEFINE(HAVE_ISINF)
137 AC_DEFINE(HAVE_ISINFF)
ff66d28f 138 AC_DEFINE(HAVE_ISNANF)
55c8e6a3
BK
139 AC_DEFINE(HAVE_FINITE)
140 AC_DEFINE(HAVE_FINITEF)
ff66d28f
PE
141 ;;
142 esac
143 ;;
b938ad89 144 *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
464aea98 145 GLIBCXX_CHECK_COMPILER_FEATURES
ff66d28f 146 GLIBCXX_CHECK_LINKER_FEATURES
464aea98 147 GLIBCXX_CHECK_MATH_SUPPORT
464aea98 148 GLIBCXX_CHECK_STDLIB_SUPPORT
bffc9d79 149 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
55c8e6a3 150 GCC_CHECK_TLS
bffc9d79 151 AM_ICONV
ff66d28f
PE
152 ;;
153 *-mingw32*)
ff66d28f 154 GLIBCXX_CHECK_LINKER_FEATURES
53f506ed
BK
155 GLIBCXX_CHECK_MATH_SUPPORT
156 GLIBCXX_CHECK_STDLIB_SUPPORT
ff66d28f
PE
157 ;;
158 *-netbsd*)
ff66d28f
PE
159 SECTION_FLAGS='-ffunction-sections -fdata-sections'
160 AC_SUBST(SECTION_FLAGS)
161 GLIBCXX_CHECK_LINKER_FEATURES
ff66d28f
PE
162 AC_DEFINE(HAVE_FINITEF)
163 AC_DEFINE(HAVE_FINITE)
164 AC_DEFINE(HAVE_FREXPF)
165 AC_DEFINE(HAVE_HYPOTF)
166 AC_DEFINE(HAVE_ISINF)
167 AC_DEFINE(HAVE_ISINFF)
168 AC_DEFINE(HAVE_ISNAN)
169 AC_DEFINE(HAVE_ISNANF)
170 if test x"long_double_math_on_this_cpu" = x"yes"; then
171 AC_DEFINE(HAVE_FINITEL)
172 AC_DEFINE(HAVE_ISINFL)
173 AC_DEFINE(HAVE_ISNANL)
174 fi
175 ;;
176 *-qnx6.1* | *-qnx6.2*)
ff66d28f
PE
177 SECTION_FLAGS='-ffunction-sections -fdata-sections'
178 AC_SUBST(SECTION_FLAGS)
179 GLIBCXX_CHECK_LINKER_FEATURES
ff66d28f
PE
180 AC_DEFINE(HAVE_COSF)
181 AC_DEFINE(HAVE_COSL)
182 AC_DEFINE(HAVE_COSHF)
183 AC_DEFINE(HAVE_COSHL)
184 AC_DEFINE(HAVE_LOGF)
185 AC_DEFINE(HAVE_LOGL)
186 AC_DEFINE(HAVE_LOG10F)
187 AC_DEFINE(HAVE_LOG10L)
188 AC_DEFINE(HAVE_SINF)
189 AC_DEFINE(HAVE_SINL)
190 AC_DEFINE(HAVE_SINHF)
191 AC_DEFINE(HAVE_SINHL)
192 ;;
07ecaaf9
RC
193 *-rtems*)
194 GLIBCXX_CHECK_COMPILER_FEATURES
195 GLIBCXX_CHECK_LINKER_FEATURES
196 GLIBCXX_CHECK_MATH_SUPPORT
197 GLIBCXX_CHECK_STDLIB_SUPPORT
198 ;;
ff66d28f 199 *-solaris*)
2b1be54b 200 case "$target" in
7888f266 201 *-solaris2.9 | *-solaris2.10)
e2c104d8 202 GLIBCXX_CHECK_LINKER_FEATURES
2b1be54b 203 AC_DEFINE(HAVE_MBSTATE_T)
2b1be54b
BS
204 AC_DEFINE(HAVE_FINITE)
205 AC_DEFINE(HAVE_FPCLASS)
2b1be54b 206 # All of the dependencies for wide character support are here, so
4ffe6e87 207 # turn it on.
2b1be54b 208 AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
2b1be54b
BS
209 ;;
210 esac
ddf2a54a
BS
211 case "$target" in
212 *-*-solaris2.10)
213 # These two C99 functions are present only in Solaris >= 10
214 AC_DEFINE(HAVE_STRTOF)
215 AC_DEFINE(HAVE_STRTOLD)
216 ;;
217 esac
ff66d28f
PE
218 AC_DEFINE(HAVE_ISNAN)
219 AC_DEFINE(HAVE_ISNANF)
220 AC_DEFINE(HAVE_MODFF)
221 AC_DEFINE(HAVE_HYPOT)
222 ;;
6e198ee0 223 *-tpf)
6e198ee0
UW
224 SECTION_FLAGS='-ffunction-sections -fdata-sections'
225 AC_SUBST(SECTION_FLAGS)
226 GLIBCXX_CHECK_LINKER_FEATURES
6e198ee0
UW
227 AC_DEFINE(HAVE_FINITE)
228 AC_DEFINE(HAVE_FINITEF)
229 AC_DEFINE(HAVE_FREXPF)
230 AC_DEFINE(HAVE_HYPOTF)
231 AC_DEFINE(HAVE_ISINF)
232 AC_DEFINE(HAVE_ISINFF)
233 AC_DEFINE(HAVE_ISNAN)
234 AC_DEFINE(HAVE_ISNANF)
235 AC_DEFINE(HAVE_SINCOS)
236 AC_DEFINE(HAVE_SINCOSF)
237 if test x"long_double_math_on_this_cpu" = x"yes"; then
238 AC_DEFINE(HAVE_FINITEL)
239 AC_DEFINE(HAVE_HYPOTL)
240 AC_DEFINE(HAVE_ISINFL)
241 AC_DEFINE(HAVE_ISNANL)
242 fi
243 ;;
65fc9769 244 *-vxworks)
65fc9769
PE
245 AC_DEFINE(HAVE_ACOSF)
246 AC_DEFINE(HAVE_ASINF)
247 AC_DEFINE(HAVE_ATAN2F)
248 AC_DEFINE(HAVE_ATANF)
249 AC_DEFINE(HAVE_CEILF)
250 AC_DEFINE(HAVE_COSF)
251 AC_DEFINE(HAVE_COSHF)
252 AC_DEFINE(HAVE_EXPF)
253 AC_DEFINE(HAVE_FABSF)
254 AC_DEFINE(HAVE_FLOORF)
255 AC_DEFINE(HAVE_FMODF)
256 AC_DEFINE(HAVE_HYPOT)
257 AC_DEFINE(HAVE_LOG10F)
258 AC_DEFINE(HAVE_LOGF)
259 AC_DEFINE(HAVE_POWF)
260 AC_DEFINE(HAVE_SINF)
261 AC_DEFINE(HAVE_SINHF)
262 AC_DEFINE(HAVE_SQRTF)
263 AC_DEFINE(HAVE_TANF)
264 AC_DEFINE(HAVE_TANHF)
265 ;;
ff66d28f
PE
266 *)
267 AC_MSG_ERROR([No support for this host/target combination.])
268 ;;
269esac
c41f82b2 270])