os_defines.h (_GLIBCXX_USE_C99_CHECK, [...]): Define.
[gcc.git] / libstdc++-v3 / crossconfig.m4
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 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
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
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.
53
54 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
55 GLIBCXX_CHECK_MATH_SUPPORT
56 GLIBCXX_CHECK_STDLIB_SUPPORT
57 ;;
58
59 *djgpp)
60 # GLIBCXX_CHECK_MATH_SUPPORT
61 AC_DEFINE(HAVE_ISINF)
62 AC_DEFINE(HAVE_ISNAN)
63 AC_DEFINE(HAVE_FINITE)
64 AC_DEFINE(HAVE_SINCOS)
65 AC_DEFINE(HAVE_HYPOT)
66 ;;
67
68 *-freebsd*)
69 SECTION_FLAGS='-ffunction-sections -fdata-sections'
70 AC_SUBST(SECTION_FLAGS)
71 GLIBCXX_CHECK_LINKER_FEATURES
72 AC_DEFINE(HAVE_SETENV)
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
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)
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*)
111 SECTION_FLAGS='-ffunction-sections -fdata-sections'
112 AC_SUBST(SECTION_FLAGS)
113 GLIBCXX_CHECK_LINKER_FEATURES
114
115 # GLIBCXX_CHECK_MATH_SUPPORT
116 AC_DEFINE(HAVE_ISNAN)
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)
129 AC_DEFINE(HAVE_FABSF)
130 AC_DEFINE(HAVE_FMODF)
131 AC_DEFINE(HAVE_FREXPF)
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
138 # GLIBCXX_CHECK_STDLIB_SUPPORT
139 AC_DEFINE(HAVE_STRTOLD)
140
141 GCC_CHECK_TLS
142 case "$target" in
143 *-hpux10*)
144 AC_DEFINE(HAVE_ISINF)
145 AC_DEFINE(HAVE_ISINFF)
146 AC_DEFINE(HAVE_ISNANF)
147 AC_DEFINE(HAVE_FINITE)
148 AC_DEFINE(HAVE_FINITEF)
149 ;;
150 esac
151 ;;
152 *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*)
153 GLIBCXX_CHECK_COMPILER_FEATURES
154 GLIBCXX_CHECK_LINKER_FEATURES
155 GLIBCXX_CHECK_MATH_SUPPORT
156 GLIBCXX_CHECK_STDLIB_SUPPORT
157 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
158 GCC_CHECK_TLS
159 AM_ICONV
160 ;;
161 *-mingw32*)
162 GLIBCXX_CHECK_LINKER_FEATURES
163 GLIBCXX_CHECK_MATH_SUPPORT
164 GLIBCXX_CHECK_STDLIB_SUPPORT
165 ;;
166 *-netbsd*)
167 SECTION_FLAGS='-ffunction-sections -fdata-sections'
168 AC_SUBST(SECTION_FLAGS)
169 GLIBCXX_CHECK_LINKER_FEATURES
170 AC_DEFINE(HAVE_FINITEF)
171 AC_DEFINE(HAVE_FINITE)
172 AC_DEFINE(HAVE_FREXPF)
173 AC_DEFINE(HAVE_HYPOTF)
174 AC_DEFINE(HAVE_ISINF)
175 AC_DEFINE(HAVE_ISINFF)
176 AC_DEFINE(HAVE_ISNAN)
177 AC_DEFINE(HAVE_ISNANF)
178 if test x"long_double_math_on_this_cpu" = x"yes"; then
179 AC_DEFINE(HAVE_FINITEL)
180 AC_DEFINE(HAVE_ISINFL)
181 AC_DEFINE(HAVE_ISNANL)
182 fi
183 ;;
184 *-qnx6.1* | *-qnx6.2*)
185 SECTION_FLAGS='-ffunction-sections -fdata-sections'
186 AC_SUBST(SECTION_FLAGS)
187 GLIBCXX_CHECK_LINKER_FEATURES
188 AC_DEFINE(HAVE_COSF)
189 AC_DEFINE(HAVE_COSL)
190 AC_DEFINE(HAVE_COSHF)
191 AC_DEFINE(HAVE_COSHL)
192 AC_DEFINE(HAVE_LOGF)
193 AC_DEFINE(HAVE_LOGL)
194 AC_DEFINE(HAVE_LOG10F)
195 AC_DEFINE(HAVE_LOG10L)
196 AC_DEFINE(HAVE_SINF)
197 AC_DEFINE(HAVE_SINL)
198 AC_DEFINE(HAVE_SINHF)
199 AC_DEFINE(HAVE_SINHL)
200 ;;
201 *-rtems*)
202 GLIBCXX_CHECK_COMPILER_FEATURES
203 GLIBCXX_CHECK_LINKER_FEATURES
204 GLIBCXX_CHECK_MATH_SUPPORT
205 GLIBCXX_CHECK_STDLIB_SUPPORT
206 ;;
207 *-solaris*)
208 GLIBCXX_CHECK_LINKER_FEATURES
209 AC_DEFINE(HAVE_MBSTATE_T)
210 AC_DEFINE(HAVE_FINITE)
211 AC_DEFINE(HAVE_FPCLASS)
212 # All of the dependencies for wide character support are here, so
213 # turn it on.
214 AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
215 # These two C99 functions are present only in Solaris >= 10
216 AC_DEFINE(HAVE_STRTOF)
217 AC_DEFINE(HAVE_STRTOLD)
218 AC_DEFINE(HAVE_ISNAN)
219 AC_DEFINE(HAVE_ISNANF)
220 AC_DEFINE(HAVE_MODFF)
221 AC_DEFINE(HAVE_HYPOT)
222 ;;
223 *-tpf)
224 SECTION_FLAGS='-ffunction-sections -fdata-sections'
225 SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
226 AC_SUBST(SECTION_FLAGS)
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 ;;
244 *-*vms*)
245 # Check for available headers.
246 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
247 GLIBCXX_CHECK_MATH_SUPPORT
248 GLIBCXX_CHECK_STDLIB_SUPPORT
249 ;;
250 *-vxworks)
251 AC_DEFINE(HAVE_ACOSF)
252 AC_DEFINE(HAVE_ASINF)
253 AC_DEFINE(HAVE_ATAN2F)
254 AC_DEFINE(HAVE_ATANF)
255 AC_DEFINE(HAVE_CEILF)
256 AC_DEFINE(HAVE_COSF)
257 AC_DEFINE(HAVE_COSHF)
258 AC_DEFINE(HAVE_EXPF)
259 AC_DEFINE(HAVE_FABSF)
260 AC_DEFINE(HAVE_FLOORF)
261 AC_DEFINE(HAVE_FMODF)
262 AC_DEFINE(HAVE_HYPOT)
263 AC_DEFINE(HAVE_LOG10F)
264 AC_DEFINE(HAVE_LOGF)
265 AC_DEFINE(HAVE_POWF)
266 AC_DEFINE(HAVE_SINF)
267 AC_DEFINE(HAVE_SINHF)
268 AC_DEFINE(HAVE_SQRTF)
269 AC_DEFINE(HAVE_TANF)
270 AC_DEFINE(HAVE_TANHF)
271 ;;
272 *)
273 AC_MSG_ERROR([No support for this host/target combination.])
274 ;;
275 esac
276 ])