re PR c++/84661 (internal compiler error: Segmentation fault (strip_array_types()))
[official-gcc.git] / libstdc++-v3 / crossconfig.m4
blob344eec09d8e7c86a85d6c0eb58789782ac4d455a
1 dnl
2 dnl This file contains details for non-native builds.
3 dnl
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     ;;
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     ;;
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
47     AC_DEFINE(HAVE_FINITE)
48     AC_DEFINE(HAVE_HYPOT)
49     AC_DEFINE(HAVE_ISNAN)
50     AC_DEFINE(HAVE_ISINF)
52     AC_DEFINE(HAVE_LDEXPF)
53     AC_DEFINE(HAVE_MODF)
54     AC_DEFINE(HAVE_SQRTF)
55     ;;
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     ;;
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     ;;
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.
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     ;;
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     ;;
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)
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     AC_CHECK_FUNCS(sockatmark)
140     ;;
142   *-fuchsia*)
143     SECTION_FLAGS='-ffunction-sections -fdata-sections'
144     AC_SUBST(SECTION_FLAGS)
145     ;;
147   *-hpux*)
148     SECTION_FLAGS='-ffunction-sections -fdata-sections'
149     AC_SUBST(SECTION_FLAGS)
150     GLIBCXX_CHECK_LINKER_FEATURES
152     # GLIBCXX_CHECK_MATH_SUPPORT
153     AC_DEFINE(HAVE_ISNAN)
154     AC_DEFINE(HAVE_HYPOT)
155     AC_DEFINE(HAVE_ACOSF)
156     AC_DEFINE(HAVE_ASINF)
157     AC_DEFINE(HAVE_ATANF)
158     AC_DEFINE(HAVE_COSF)
159     AC_DEFINE(HAVE_COSHF)
160     AC_DEFINE(HAVE_SINF)
161     AC_DEFINE(HAVE_SINHF)
162     AC_DEFINE(HAVE_TANF)
163     AC_DEFINE(HAVE_TANHF)
164     AC_DEFINE(HAVE_EXPF)
165     AC_DEFINE(HAVE_ATAN2F)
166     AC_DEFINE(HAVE_FABSF)
167     AC_DEFINE(HAVE_FMODF)
168     AC_DEFINE(HAVE_FREXPF)
169     AC_DEFINE(HAVE_LOGF)
170     AC_DEFINE(HAVE_LOG10F)
171     AC_DEFINE(HAVE_MODF)
172     AC_DEFINE(HAVE_POWF)
173     AC_DEFINE(HAVE_SQRTF)
175     # GLIBCXX_CHECK_STDLIB_SUPPORT
176     AC_DEFINE(HAVE_STRTOLD)
178     GCC_CHECK_TLS
179     case "$target" in
180       *-hpux10*)
181         AC_DEFINE(HAVE_ISINF)
182         AC_DEFINE(HAVE_ISINFF)
183         AC_DEFINE(HAVE_ISNANF)
184         AC_DEFINE(HAVE_FINITE)
185         AC_DEFINE(HAVE_FINITEF)
186         ;;
187     esac
188     ;;
189   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin* | *-solaris*)
190     GLIBCXX_CHECK_COMPILER_FEATURES
191     GLIBCXX_CHECK_LINKER_FEATURES
192     GLIBCXX_CHECK_MATH_SUPPORT
193     GLIBCXX_CHECK_STDLIB_SUPPORT
194     AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
195     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
196     GCC_CHECK_TLS
197     AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
198     AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
199     AC_CHECK_FUNCS(timespec_get)
200     AC_CHECK_FUNCS(sockatmark)
201     AM_ICONV
202     ;;
203   *-mingw32*)
204     GLIBCXX_CHECK_LINKER_FEATURES
205     GLIBCXX_CHECK_MATH_SUPPORT
206     GLIBCXX_CHECK_STDLIB_SUPPORT
207     AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
208     AC_CHECK_FUNCS(_wfopen)
209     ;;
210   *-netbsd* | *-openbsd*)
211     SECTION_FLAGS='-ffunction-sections -fdata-sections'
212     AC_SUBST(SECTION_FLAGS) 
213     GLIBCXX_CHECK_LINKER_FEATURES
214     AC_DEFINE(HAVE_FINITEF)
215     AC_DEFINE(HAVE_FINITE)
216     AC_DEFINE(HAVE_FREXPF)
217     AC_DEFINE(HAVE_HYPOTF)
218     AC_DEFINE(HAVE_ISINF)
219     AC_DEFINE(HAVE_ISINFF)
220     AC_DEFINE(HAVE_ISNAN)
221     AC_DEFINE(HAVE_ISNANF)
222     if test x"long_double_math_on_this_cpu" = x"yes"; then
223       AC_DEFINE(HAVE_FINITEL)
224       AC_DEFINE(HAVE_ISINFL)
225       AC_DEFINE(HAVE_ISNANL)
226     fi
227     AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
228     AC_CHECK_FUNCS(timespec_get)
229     AC_CHECK_FUNCS(sockatmark)
230     ;;
231   *-qnx6.1* | *-qnx6.2*)
232     SECTION_FLAGS='-ffunction-sections -fdata-sections'
233     AC_SUBST(SECTION_FLAGS) 
234     GLIBCXX_CHECK_LINKER_FEATURES
235     AC_DEFINE(HAVE_COSF)
236     AC_DEFINE(HAVE_COSL)
237     AC_DEFINE(HAVE_COSHF)
238     AC_DEFINE(HAVE_COSHL)
239     AC_DEFINE(HAVE_LOGF)
240     AC_DEFINE(HAVE_LOGL)
241     AC_DEFINE(HAVE_LOG10F)
242     AC_DEFINE(HAVE_LOG10L)
243     AC_DEFINE(HAVE_SINF)
244     AC_DEFINE(HAVE_SINL)
245     AC_DEFINE(HAVE_SINHF)
246     AC_DEFINE(HAVE_SINHL)
247     ;;
248   *-rtems*)
249     GLIBCXX_CHECK_COMPILER_FEATURES
250     GLIBCXX_CHECK_LINKER_FEATURES
251     GLIBCXX_CHECK_MATH_SUPPORT
252     GLIBCXX_CHECK_STDLIB_SUPPORT
253     ;;
254   *-tpf)
255     SECTION_FLAGS='-ffunction-sections -fdata-sections'
256     SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
257     AC_SUBST(SECTION_FLAGS)
258     AC_DEFINE(HAVE_FINITE)
259     AC_DEFINE(HAVE_FINITEF)
260     AC_DEFINE(HAVE_FREXPF)
261     AC_DEFINE(HAVE_HYPOTF)
262     AC_DEFINE(HAVE_ISINF)
263     AC_DEFINE(HAVE_ISINFF)
264     AC_DEFINE(HAVE_ISNAN)
265     AC_DEFINE(HAVE_ISNANF)
266     AC_DEFINE(HAVE_SINCOS)
267     AC_DEFINE(HAVE_SINCOSF)
268     if test x"long_double_math_on_this_cpu" = x"yes"; then
269       AC_DEFINE(HAVE_FINITEL)
270       AC_DEFINE(HAVE_HYPOTL)
271       AC_DEFINE(HAVE_ISINFL)
272       AC_DEFINE(HAVE_ISNANL)
273     fi
274     ;;
275   *-*vms*)
276     # Check for available headers.
277     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
278     GLIBCXX_CHECK_MATH_SUPPORT
279     GLIBCXX_CHECK_STDLIB_SUPPORT
280     ;;
281   *-vxworks)
282     AC_DEFINE(HAVE_ACOSF)
283     AC_DEFINE(HAVE_ASINF)
284     AC_DEFINE(HAVE_ATAN2F)
285     AC_DEFINE(HAVE_ATANF)
286     AC_DEFINE(HAVE_CEILF)
287     AC_DEFINE(HAVE_COSF)
288     AC_DEFINE(HAVE_COSHF)
289     AC_DEFINE(HAVE_EXPF)
290     AC_DEFINE(HAVE_FABSF)
291     AC_DEFINE(HAVE_FLOORF)
292     AC_DEFINE(HAVE_FMODF)
293     AC_DEFINE(HAVE_HYPOT)
294     AC_DEFINE(HAVE_LOG10F)
295     AC_DEFINE(HAVE_LOGF)
296     AC_DEFINE(HAVE_POWF)
297     AC_DEFINE(HAVE_SINF)
298     AC_DEFINE(HAVE_SINHF)
299     AC_DEFINE(HAVE_SQRTF)
300     AC_DEFINE(HAVE_TANF)
301     AC_DEFINE(HAVE_TANHF)
302     ;;
303   *)
304     AC_MSG_ERROR([No support for this host/target combination.])
305    ;;
306 esac