]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/crossconfig.m4
Add std::timespec and std::timespec_get for C++17
[thirdparty/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 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
38 mips*-sde-elf*)
39 # These definitions are for the SDE C library rather than newlib.
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
45 GLIBCXX_CHECK_STDLIB_SUPPORT
46
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
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
65 *-aix*)
66 GLIBCXX_CHECK_LINKER_FEATURES
67 GLIBCXX_CHECK_MATH_SUPPORT
68 GLIBCXX_CHECK_STDLIB_SUPPORT
69 AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
70 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
71 # We don't yet support AIX's TLS ABI.
72 #GCC_CHECK_TLS
73 AM_ICONV
74 ;;
75
76 *-darwin*)
77 # Darwin versions vary, but the linker should work in a cross environment,
78 # so we just check for all the features here.
79 # Check for available headers.
80
81 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
82 GLIBCXX_CHECK_MATH_SUPPORT
83 GLIBCXX_CHECK_STDLIB_SUPPORT
84 ;;
85
86 *djgpp)
87 # GLIBCXX_CHECK_MATH_SUPPORT
88 AC_DEFINE(HAVE_ISINF)
89 AC_DEFINE(HAVE_ISNAN)
90 AC_DEFINE(HAVE_FINITE)
91 AC_DEFINE(HAVE_SINCOS)
92 AC_DEFINE(HAVE_HYPOT)
93 ;;
94
95 *-freebsd*)
96 SECTION_FLAGS='-ffunction-sections -fdata-sections'
97 AC_SUBST(SECTION_FLAGS)
98 GLIBCXX_CHECK_LINKER_FEATURES
99 AC_DEFINE(HAVE_SETENV)
100 AC_DEFINE(HAVE_FINITEF)
101 AC_DEFINE(HAVE_FINITE)
102 AC_DEFINE(HAVE_FREXPF)
103 AC_DEFINE(HAVE_HYPOT)
104 AC_DEFINE(HAVE_HYPOTF)
105 AC_DEFINE(HAVE_ISINF)
106 AC_DEFINE(HAVE_ISNAN)
107 AC_DEFINE(HAVE_ISNANF)
108
109 AC_DEFINE(HAVE_ACOSF)
110 AC_DEFINE(HAVE_ASINF)
111 AC_DEFINE(HAVE_ATAN2F)
112 AC_DEFINE(HAVE_ATANF)
113 AC_DEFINE(HAVE_CEILF)
114 AC_DEFINE(HAVE_COSF)
115 AC_DEFINE(HAVE_COSHF)
116 AC_DEFINE(HAVE_EXPF)
117 AC_DEFINE(HAVE_FABSF)
118 AC_DEFINE(HAVE_FLOORF)
119 AC_DEFINE(HAVE_FMODF)
120 AC_DEFINE(HAVE_FREXPF)
121 AC_DEFINE(HAVE_LDEXPF)
122 AC_DEFINE(HAVE_LOG10F)
123 AC_DEFINE(HAVE_LOGF)
124 AC_DEFINE(HAVE_MODFF)
125 AC_DEFINE(HAVE_POWF)
126 AC_DEFINE(HAVE_SINF)
127 AC_DEFINE(HAVE_SINHF)
128 AC_DEFINE(HAVE_SQRTF)
129 AC_DEFINE(HAVE_TANF)
130 AC_DEFINE(HAVE_TANHF)
131 if test x"long_double_math_on_this_cpu" = x"yes"; then
132 AC_DEFINE(HAVE_FINITEL)
133 AC_DEFINE(HAVE_ISINFL)
134 AC_DEFINE(HAVE_ISNANL)
135 fi
136 AC_CHECK_FUNCS(__cxa_thread_atexit)
137 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
138 AC_CHECK_FUNCS(timespec_get)
139 ;;
140
141 *-fuchsia*)
142 SECTION_FLAGS='-ffunction-sections -fdata-sections'
143 AC_SUBST(SECTION_FLAGS)
144 ;;
145
146 *-hpux*)
147 SECTION_FLAGS='-ffunction-sections -fdata-sections'
148 AC_SUBST(SECTION_FLAGS)
149 GLIBCXX_CHECK_LINKER_FEATURES
150
151 # GLIBCXX_CHECK_MATH_SUPPORT
152 AC_DEFINE(HAVE_ISNAN)
153 AC_DEFINE(HAVE_HYPOT)
154 AC_DEFINE(HAVE_ACOSF)
155 AC_DEFINE(HAVE_ASINF)
156 AC_DEFINE(HAVE_ATANF)
157 AC_DEFINE(HAVE_COSF)
158 AC_DEFINE(HAVE_COSHF)
159 AC_DEFINE(HAVE_SINF)
160 AC_DEFINE(HAVE_SINHF)
161 AC_DEFINE(HAVE_TANF)
162 AC_DEFINE(HAVE_TANHF)
163 AC_DEFINE(HAVE_EXPF)
164 AC_DEFINE(HAVE_ATAN2F)
165 AC_DEFINE(HAVE_FABSF)
166 AC_DEFINE(HAVE_FMODF)
167 AC_DEFINE(HAVE_FREXPF)
168 AC_DEFINE(HAVE_LOGF)
169 AC_DEFINE(HAVE_LOG10F)
170 AC_DEFINE(HAVE_MODF)
171 AC_DEFINE(HAVE_POWF)
172 AC_DEFINE(HAVE_SQRTF)
173
174 # GLIBCXX_CHECK_STDLIB_SUPPORT
175 AC_DEFINE(HAVE_STRTOLD)
176
177 GCC_CHECK_TLS
178 case "$target" in
179 *-hpux10*)
180 AC_DEFINE(HAVE_ISINF)
181 AC_DEFINE(HAVE_ISINFF)
182 AC_DEFINE(HAVE_ISNANF)
183 AC_DEFINE(HAVE_FINITE)
184 AC_DEFINE(HAVE_FINITEF)
185 ;;
186 esac
187 ;;
188 *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin* | *-solaris*)
189 GLIBCXX_CHECK_COMPILER_FEATURES
190 GLIBCXX_CHECK_LINKER_FEATURES
191 GLIBCXX_CHECK_MATH_SUPPORT
192 GLIBCXX_CHECK_STDLIB_SUPPORT
193 AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
194 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
195 GCC_CHECK_TLS
196 AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
197 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
198 AC_CHECK_FUNCS(timespec_get)
199 AM_ICONV
200 ;;
201 *-mingw32*)
202 GLIBCXX_CHECK_LINKER_FEATURES
203 GLIBCXX_CHECK_MATH_SUPPORT
204 GLIBCXX_CHECK_STDLIB_SUPPORT
205 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
206 AC_CHECK_FUNCS(_wfopen)
207 ;;
208 *-netbsd* | *-openbsd*)
209 SECTION_FLAGS='-ffunction-sections -fdata-sections'
210 AC_SUBST(SECTION_FLAGS)
211 GLIBCXX_CHECK_LINKER_FEATURES
212 AC_DEFINE(HAVE_FINITEF)
213 AC_DEFINE(HAVE_FINITE)
214 AC_DEFINE(HAVE_FREXPF)
215 AC_DEFINE(HAVE_HYPOTF)
216 AC_DEFINE(HAVE_ISINF)
217 AC_DEFINE(HAVE_ISINFF)
218 AC_DEFINE(HAVE_ISNAN)
219 AC_DEFINE(HAVE_ISNANF)
220 if test x"long_double_math_on_this_cpu" = x"yes"; then
221 AC_DEFINE(HAVE_FINITEL)
222 AC_DEFINE(HAVE_ISINFL)
223 AC_DEFINE(HAVE_ISNANL)
224 fi
225 AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
226 AC_CHECK_FUNCS(timespec_get)
227 ;;
228 *-qnx6.1* | *-qnx6.2*)
229 SECTION_FLAGS='-ffunction-sections -fdata-sections'
230 AC_SUBST(SECTION_FLAGS)
231 GLIBCXX_CHECK_LINKER_FEATURES
232 AC_DEFINE(HAVE_COSF)
233 AC_DEFINE(HAVE_COSL)
234 AC_DEFINE(HAVE_COSHF)
235 AC_DEFINE(HAVE_COSHL)
236 AC_DEFINE(HAVE_LOGF)
237 AC_DEFINE(HAVE_LOGL)
238 AC_DEFINE(HAVE_LOG10F)
239 AC_DEFINE(HAVE_LOG10L)
240 AC_DEFINE(HAVE_SINF)
241 AC_DEFINE(HAVE_SINL)
242 AC_DEFINE(HAVE_SINHF)
243 AC_DEFINE(HAVE_SINHL)
244 ;;
245 *-rtems*)
246 GLIBCXX_CHECK_COMPILER_FEATURES
247 GLIBCXX_CHECK_LINKER_FEATURES
248 GLIBCXX_CHECK_MATH_SUPPORT
249 GLIBCXX_CHECK_STDLIB_SUPPORT
250 ;;
251 *-tpf)
252 SECTION_FLAGS='-ffunction-sections -fdata-sections'
253 SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
254 AC_SUBST(SECTION_FLAGS)
255 AC_DEFINE(HAVE_FINITE)
256 AC_DEFINE(HAVE_FINITEF)
257 AC_DEFINE(HAVE_FREXPF)
258 AC_DEFINE(HAVE_HYPOTF)
259 AC_DEFINE(HAVE_ISINF)
260 AC_DEFINE(HAVE_ISINFF)
261 AC_DEFINE(HAVE_ISNAN)
262 AC_DEFINE(HAVE_ISNANF)
263 AC_DEFINE(HAVE_SINCOS)
264 AC_DEFINE(HAVE_SINCOSF)
265 if test x"long_double_math_on_this_cpu" = x"yes"; then
266 AC_DEFINE(HAVE_FINITEL)
267 AC_DEFINE(HAVE_HYPOTL)
268 AC_DEFINE(HAVE_ISINFL)
269 AC_DEFINE(HAVE_ISNANL)
270 fi
271 ;;
272 *-*vms*)
273 # Check for available headers.
274 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
275 GLIBCXX_CHECK_MATH_SUPPORT
276 GLIBCXX_CHECK_STDLIB_SUPPORT
277 ;;
278 *-vxworks)
279 AC_DEFINE(HAVE_ACOSF)
280 AC_DEFINE(HAVE_ASINF)
281 AC_DEFINE(HAVE_ATAN2F)
282 AC_DEFINE(HAVE_ATANF)
283 AC_DEFINE(HAVE_CEILF)
284 AC_DEFINE(HAVE_COSF)
285 AC_DEFINE(HAVE_COSHF)
286 AC_DEFINE(HAVE_EXPF)
287 AC_DEFINE(HAVE_FABSF)
288 AC_DEFINE(HAVE_FLOORF)
289 AC_DEFINE(HAVE_FMODF)
290 AC_DEFINE(HAVE_HYPOT)
291 AC_DEFINE(HAVE_LOG10F)
292 AC_DEFINE(HAVE_LOGF)
293 AC_DEFINE(HAVE_POWF)
294 AC_DEFINE(HAVE_SINF)
295 AC_DEFINE(HAVE_SINHF)
296 AC_DEFINE(HAVE_SQRTF)
297 AC_DEFINE(HAVE_TANF)
298 AC_DEFINE(HAVE_TANHF)
299 ;;
300 *)
301 AC_MSG_ERROR([No support for this host/target combination.])
302 ;;
303 esac
304 ])