OSDN Git Service

* ifcvt.c (cond_exec_find_if_block): Return FALSE if no
[pf3gnuchains/gcc-fork.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   *-darwin*)
13     # Darwin versions vary, but the linker should work in a cross environment,
14     # so we just check for all the features here.
15     # Check for available headers.
16     AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
17     machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \
18     sys/types.h])
19
20     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
21     GLIBCXX_CHECK_MATH_SUPPORT
22     GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
23     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
24     GLIBCXX_CHECK_STDLIB_SUPPORT
25
26     # For showmanyc_helper().
27     AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
28     GLIBCXX_CHECK_POLL
29     GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
30
31     # For xsputn_2().
32     AC_CHECK_HEADERS(sys/uio.h)
33     GLIBCXX_CHECK_WRITEV
34
35     AC_DEFINE(HAVE_LC_MESSAGES)
36
37     AC_TRY_COMPILE(
38       [#include <setjmp.h>],
39       [sigjmp_buf env;
40        while (! sigsetjmp (env, 1))
41          siglongjmp (env, 1);
42     ],
43     [AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available.])])
44
45     AC_DEFINE(HAVE_MMAP)
46     ;;
47
48   *djgpp)
49     AC_CHECK_HEADERS([float.h ieeefp.h inttypes.h locale.h \
50       memory.h stdint.h stdlib.h strings.h string.h unistd.h \
51       wchar.h wctype.h machine/endian.h sys/ioctl.h sys/param.h \
52       sys/resource.h sys/stat.h sys/time.h sys/types.h sys/uio.h])
53     # GLIBCXX_CHECK_MATH_SUPPORT
54     AC_DEFINE(HAVE_LIBM)
55     AC_DEFINE(HAVE_ISINF)
56     AC_DEFINE(HAVE_ISNAN)
57     AC_DEFINE(HAVE_FINITE)
58     AC_DEFINE(HAVE_COPYSIGN)
59     AC_DEFINE(HAVE_SINCOS)
60     AC_DEFINE(HAVE_HYPOT)
61     # GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
62     AC_DEFINE(HAVE___BUILTIN_ABS)
63     AC_DEFINE(HAVE___BUILTIN_FABSF)
64     AC_DEFINE(HAVE___BUILTIN_FABS)
65     AC_DEFINE(HAVE___BUILTIN_FABSL)
66     AC_DEFINE(HAVE___BUILTIN_LABS)
67     AC_DEFINE(HAVE___BUILTIN_SQRTF)
68     AC_DEFINE(HAVE___BUILTIN_SQRT)
69     AC_DEFINE(HAVE___BUILTIN_SQRTL)
70     AC_DEFINE(HAVE___BUILTIN_SINF)
71     AC_DEFINE(HAVE___BUILTIN_SIN)
72     AC_DEFINE(HAVE___BUILTIN_SINL)
73     AC_DEFINE(HAVE___BUILTIN_COSF)
74     AC_DEFINE(HAVE___BUILTIN_COS)
75     AC_DEFINE(HAVE___BUILTIN_COSL)
76     # GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
77     # GLIBCXX_CHECK_STDLIB_SUPPORT
78     AC_DEFINE(HAVE_COPYSIGN)
79     AC_DEFINE(HAVE_COPYSIGNF)
80     # GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
81     AC_DEFINE(HAVE_S_ISREG)
82     AC_DEFINE(HAVE_S_IFREG)
83     AC_DEFINE(HAVE_WRITEV)
84     ;;
85
86   *-freebsd*)
87     AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
88       machine/endian.h machine/param.h sys/machine.h sys/types.h \
89       fp.h locale.h float.h inttypes.h sys/resource.h sys/stat.h \
90       sys/time.h unistd.h])
91     SECTION_FLAGS='-ffunction-sections -fdata-sections'
92     AC_SUBST(SECTION_FLAGS) 
93     GLIBCXX_CHECK_LINKER_FEATURES
94     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
95     AC_DEFINE(HAVE_LC_MESSAGES)
96     AC_DEFINE(HAVE_GETPAGESIZE)
97     AC_DEFINE(HAVE_SETENV)
98     AC_DEFINE(HAVE_SIGSETJMP)
99     AC_DEFINE(HAVE_COPYSIGN)
100     AC_DEFINE(HAVE_COPYSIGNF)
101     AC_DEFINE(HAVE_FINITEF)
102     AC_DEFINE(HAVE_FINITE)
103     AC_DEFINE(HAVE_FREXPF)
104     AC_DEFINE(HAVE_HYPOT)
105     AC_DEFINE(HAVE_HYPOTF)
106     AC_DEFINE(HAVE_ISINF)
107     AC_DEFINE(HAVE_ISNAN)
108     AC_DEFINE(HAVE_ISNANF)
109
110     AC_DEFINE(HAVE_MMAP)
111     AC_DEFINE(HAVE_ACOSF)
112     AC_DEFINE(HAVE_ASINF)
113     AC_DEFINE(HAVE_ATAN2F)
114     AC_DEFINE(HAVE_ATANF)
115     AC_DEFINE(HAVE_CEILF)
116     AC_DEFINE(HAVE_COPYSIGN)
117     AC_DEFINE(HAVE_COPYSIGNF)
118     AC_DEFINE(HAVE_COSF)
119     AC_DEFINE(HAVE_COSHF)
120     AC_DEFINE(HAVE_EXPF)
121     AC_DEFINE(HAVE_FABSF)
122     AC_DEFINE(HAVE_FLOORF)
123     AC_DEFINE(HAVE_FMODF)
124     AC_DEFINE(HAVE_FREXPF)
125     AC_DEFINE(HAVE_LDEXPF)
126     AC_DEFINE(HAVE_LOG10F)
127     AC_DEFINE(HAVE_LOGF)
128     AC_DEFINE(HAVE_MODFF)
129     AC_DEFINE(HAVE_POWF)
130     AC_DEFINE(HAVE_SINF)
131     AC_DEFINE(HAVE_SINHF)
132     AC_DEFINE(HAVE_SQRTF)
133     AC_DEFINE(HAVE_TANF)
134     AC_DEFINE(HAVE_TANHF)
135     if test x"long_double_math_on_this_cpu" = x"yes"; then
136       AC_DEFINE(HAVE_FINITEL)
137       AC_DEFINE(HAVE_ISINFL)
138       AC_DEFINE(HAVE_ISNANL)
139     fi
140     ;;
141   *-hpux*)
142     AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
143       machine/endian.h machine/param.h sys/machine.h sys/types.h \
144       fp.h locale.h float.h inttypes.h])
145     SECTION_FLAGS='-ffunction-sections -fdata-sections'
146     AC_SUBST(SECTION_FLAGS)
147     GLIBCXX_CHECK_LINKER_FEATURES
148     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
149     AC_DEFINE(HAVE_COPYSIGN)
150     AC_DEFINE(HAVE_COPYSIGNF)
151     AC_DEFINE(HAVE_FREXPF)
152     AC_DEFINE(HAVE_HYPOT)
153     case "$target" in
154       *-hpux10*)
155         AC_DEFINE(HAVE_FINITE)
156         AC_DEFINE(HAVE_FINITEF)
157         AC_DEFINE(HAVE_ISINF)
158         AC_DEFINE(HAVE_ISINFF)
159         AC_DEFINE(HAVE_ISNAN)
160         AC_DEFINE(HAVE_ISNANF)
161         ;;
162     esac
163     ;;
164   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
165     AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
166       machine/endian.h machine/param.h sys/machine.h sys/types.h \
167       fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
168     SECTION_FLAGS='-ffunction-sections -fdata-sections'
169     AC_SUBST(SECTION_FLAGS)
170     GLIBCXX_CHECK_COMPILER_FEATURES
171     GLIBCXX_CHECK_LINKER_FEATURES
172     GLIBCXX_CHECK_MATH_SUPPORT
173     GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
174     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
175     GLIBCXX_CHECK_STDLIB_SUPPORT
176
177     # For LFS.
178     AC_DEFINE(HAVE_INT64_T)
179     GLIBCXX_CHECK_LFS
180
181     # For showmanyc_helper().
182     AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
183     GLIBCXX_CHECK_POLL
184     GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
185
186     # For xsputn_2().
187     AC_CHECK_HEADERS(sys/uio.h)
188     GLIBCXX_CHECK_WRITEV
189     ;;
190   *-mingw32*)
191     AC_CHECK_HEADERS([sys/types.h locale.h float.h])
192     GLIBCXX_CHECK_LINKER_FEATURES
193     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
194     ;;
195   *-netbsd*)
196     AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
197       machine/endian.h machine/param.h sys/machine.h sys/types.h \
198       fp.h locale.h float.h inttypes.h])
199     SECTION_FLAGS='-ffunction-sections -fdata-sections'
200     AC_SUBST(SECTION_FLAGS) 
201     GLIBCXX_CHECK_LINKER_FEATURES
202     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
203     AC_DEFINE(HAVE_COPYSIGN)
204     AC_DEFINE(HAVE_COPYSIGNF)
205     AC_DEFINE(HAVE_FINITEF)
206     AC_DEFINE(HAVE_FINITE)
207     AC_DEFINE(HAVE_FREXPF)
208     AC_DEFINE(HAVE_HYPOTF)
209     AC_DEFINE(HAVE_ISINF)
210     AC_DEFINE(HAVE_ISINFF)
211     AC_DEFINE(HAVE_ISNAN)
212     AC_DEFINE(HAVE_ISNANF)
213     if test x"long_double_math_on_this_cpu" = x"yes"; then
214       AC_DEFINE(HAVE_FINITEL)
215       AC_DEFINE(HAVE_ISINFL)
216       AC_DEFINE(HAVE_ISNANL)
217     fi
218     ;;
219   *-netware)
220     AC_CHECK_HEADERS([nan.h ieeefp.h sys/isa_defs.h sys/machine.h \
221       sys/types.h locale.h float.h inttypes.h])
222     SECTION_FLAGS='-ffunction-sections -fdata-sections'
223     AC_SUBST(SECTION_FLAGS)
224     GLIBCXX_CHECK_LINKER_FEATURES
225     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
226     AC_DEFINE(HAVE_HYPOT)
227     AC_DEFINE(HAVE_ISINF)
228     AC_DEFINE(HAVE_ISNAN)
229
230     # For showmanyc_helper().
231     AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
232     GLIBCXX_CHECK_POLL
233     GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
234
235     # For xsputn_2().
236     AC_CHECK_HEADERS(sys/uio.h)
237     GLIBCXX_CHECK_WRITEV
238     ;;
239   *-qnx6.1* | *-qnx6.2*)
240     SECTION_FLAGS='-ffunction-sections -fdata-sections'
241     AC_SUBST(SECTION_FLAGS) 
242     GLIBCXX_CHECK_LINKER_FEATURES
243     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
244     AC_DEFINE(HAVE_COSF)
245     AC_DEFINE(HAVE_COSL)
246     AC_DEFINE(HAVE_COSHF)
247     AC_DEFINE(HAVE_COSHL)
248     AC_DEFINE(HAVE_LOGF)
249     AC_DEFINE(HAVE_LOGL)
250     AC_DEFINE(HAVE_LOG10F)
251     AC_DEFINE(HAVE_LOG10L)
252     AC_DEFINE(HAVE_SINF)
253     AC_DEFINE(HAVE_SINL)
254     AC_DEFINE(HAVE_SINHF)
255     AC_DEFINE(HAVE_SINHL)
256     ;;
257   *-solaris*)
258     case "$target" in
259     #  *-solaris2.5)
260     #    os_include_dir="os/solaris/solaris2.5"
261     #    ;;
262     #  *-solaris2.6)
263     #    os_include_dir="os/solaris/solaris2.6"
264     #    ;;
265       *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
266          GLIBCXX_CHECK_LINKER_FEATURES
267          AC_DEFINE(HAVE_GETPAGESIZE)
268          AC_DEFINE(HAVE_SIGSETJMP)
269          AC_DEFINE(HAVE_MBSTATE_T)
270          AC_DEFINE(HAVE_POLL)
271          AC_DEFINE(HAVE_S_ISREG)
272          AC_DEFINE(HAVE_LC_MESSAGES)
273          AC_DEFINE(HAVE_FINITE)
274          AC_DEFINE(HAVE_FPCLASS)
275          AC_DEFINE(HAVE_GETPAGESIZE)
276          # All of the dependencies for wide character support are here, so
277          # turn it on. 
278          AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 
279          # Are these tested for even when cross?
280          AC_DEFINE(HAVE_FLOAT_H)
281          AC_DEFINE(HAVE_IEEEFP_H)
282          AC_DEFINE(HAVE_INTTYPES_H)
283          AC_DEFINE(HAVE_LOCALE_H)
284          AC_DEFINE(HAVE_NAN_H)
285          AC_DEFINE(HAVE_SYS_FILIO_H)
286          AC_DEFINE(HAVE_SYS_IOCTL_H)
287          AC_DEFINE(HAVE_SYS_ISA_DEFS_H)
288          AC_DEFINE(HAVE_SYS_RESOURCE_H)
289          AC_DEFINE(HAVE_SYS_TIME_H)
290          AC_DEFINE(HAVE_SYS_TYPES_H)
291          AC_DEFINE(HAVE_UNISTD_H)
292          AC_DEFINE(HAVE_WCHAR_H)
293          AC_DEFINE(HAVE_WCTYPE_H)
294          AC_DEFINE(HAVE_LIBM)
295         ;;
296     esac
297     case "$target" in
298       sparc*-*-solaris2.8 | sparc*-*-solaris2.9 | sparc*-*-solaris2.10)
299         # I saw these on sparc-sun-solaris2.8, but not 2.6, and not on i386
300         AC_DEFINE(HAVE___BUILTIN_ABS)
301         AC_DEFINE(HAVE___BUILTIN_LABS)
302         AC_DEFINE(HAVE___BUILTIN_FABS)
303         AC_DEFINE(HAVE___BUILTIN_FABSF)
304         AC_DEFINE(HAVE___BUILTIN_FABSL)
305         AC_DEFINE(HAVE___BUILTIN_COS)
306         AC_DEFINE(HAVE___BUILTIN_COSF)
307         AC_DEFINE(HAVE___BUILTIN_SIN)
308         AC_DEFINE(HAVE___BUILTIN_SINF)
309        ;;
310     esac
311     case "$target" in
312       *-*-solaris2.10)
313       # These two C99 functions are present only in Solaris >= 10
314       AC_DEFINE(HAVE_STRTOF)
315       AC_DEFINE(HAVE_STRTOLD)
316      ;;
317     esac
318     AC_DEFINE(HAVE_MMAP) 
319     AC_DEFINE(HAVE_COPYSIGN)
320     AC_DEFINE(HAVE_ISNAN)
321     AC_DEFINE(HAVE_ISNANF)
322     AC_DEFINE(HAVE_MODFF)
323     AC_DEFINE(HAVE_HYPOT)
324     ;;
325   *-tpf)
326     AC_CHECK_HEADERS([nan.h endian.h machine/endian.h  \
327       sys/param.h sys/types.h locale.h float.h inttypes.h])
328     SECTION_FLAGS='-ffunction-sections -fdata-sections'
329     AC_SUBST(SECTION_FLAGS)
330     GLIBCXX_CHECK_LINKER_FEATURES
331     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
332     AC_DEFINE(HAVE_COPYSIGN)
333     AC_DEFINE(HAVE_COPYSIGNF)
334     AC_DEFINE(HAVE_FINITE)
335     AC_DEFINE(HAVE_FINITEF)
336     AC_DEFINE(HAVE_FREXPF)
337     AC_DEFINE(HAVE_HYPOTF)
338     AC_DEFINE(HAVE_ISINF)
339     AC_DEFINE(HAVE_ISINFF)
340     AC_DEFINE(HAVE_ISNAN)
341     AC_DEFINE(HAVE_ISNANF)
342     AC_DEFINE(HAVE_SINCOS)
343     AC_DEFINE(HAVE_SINCOSF)
344     if test x"long_double_math_on_this_cpu" = x"yes"; then
345       AC_DEFINE(HAVE_FINITEL)
346       AC_DEFINE(HAVE_HYPOTL)
347       AC_DEFINE(HAVE_ISINFL)
348       AC_DEFINE(HAVE_ISNANL)
349     fi
350     ;;
351   *-vxworks)
352     AC_DEFINE(HAVE_MMAP)
353     AC_DEFINE(HAVE_ACOSF)
354     AC_DEFINE(HAVE_ASINF)
355     AC_DEFINE(HAVE_ATAN2F)
356     AC_DEFINE(HAVE_ATANF)
357     AC_DEFINE(HAVE_CEILF)
358     AC_DEFINE(HAVE_COSF)
359     AC_DEFINE(HAVE_COSHF)
360     AC_DEFINE(HAVE_EXPF)
361     AC_DEFINE(HAVE_FABSF)
362     AC_DEFINE(HAVE_FLOORF)
363     AC_DEFINE(HAVE_FMODF)
364     AC_DEFINE(HAVE_HYPOT)
365     AC_DEFINE(HAVE_LOG10F)
366     AC_DEFINE(HAVE_LOGF)
367     AC_DEFINE(HAVE_POWF)
368     AC_DEFINE(HAVE_SINF)
369     AC_DEFINE(HAVE_SINHF)
370     AC_DEFINE(HAVE_SQRTF)
371     AC_DEFINE(HAVE_TANF)
372     AC_DEFINE(HAVE_TANHF)
373     ;;
374   *-windiss*)
375     AC_DEFINE(HAVE_ACOSF)
376     AC_DEFINE(HAVE_ACOSL)
377     AC_DEFINE(HAVE_ASINF)
378     AC_DEFINE(HAVE_ASINL)
379     AC_DEFINE(HAVE_ATAN2F)
380     AC_DEFINE(HAVE_ATAN2L)
381     AC_DEFINE(HAVE_ATANF)
382     AC_DEFINE(HAVE_ATANL)
383     AC_DEFINE(HAVE_CEILF)
384     AC_DEFINE(HAVE_CEILL)
385     AC_DEFINE(HAVE_COPYSIGN)
386     AC_DEFINE(HAVE_COPYSIGNF)
387     AC_DEFINE(HAVE_COSF)
388     AC_DEFINE(HAVE_COSL)
389     AC_DEFINE(HAVE_COSHF)
390     AC_DEFINE(HAVE_COSHL)
391     AC_DEFINE(HAVE_EXPF)
392     AC_DEFINE(HAVE_EXPL)
393     AC_DEFINE(HAVE_FABSF)
394     AC_DEFINE(HAVE_FABSL)
395     AC_DEFINE(HAVE_FLOORF)
396     AC_DEFINE(HAVE_FLOORL)
397     AC_DEFINE(HAVE_FMODF)
398     AC_DEFINE(HAVE_FMODL)
399     AC_DEFINE(HAVE_FREXPF)
400     AC_DEFINE(HAVE_FREXPL)
401     AC_DEFINE(HAVE_LDEXPF)
402     AC_DEFINE(HAVE_LDEXPL)
403     AC_DEFINE(HAVE_LOG10F)
404     AC_DEFINE(HAVE_LOG10L)
405     AC_DEFINE(HAVE_LOGF)
406     AC_DEFINE(HAVE_MODFF)
407     AC_DEFINE(HAVE_MODFL)
408     AC_DEFINE(HAVE_POWF)
409     AC_DEFINE(HAVE_POWL)
410     AC_DEFINE(HAVE_SINF)
411     AC_DEFINE(HAVE_SINL)
412     AC_DEFINE(HAVE_SINHF)
413     AC_DEFINE(HAVE_SINHL)
414     AC_DEFINE(HAVE_SQRTF)
415     AC_DEFINE(HAVE_SQRTL)
416     AC_DEFINE(HAVE_TANF)
417     AC_DEFINE(HAVE_TANL)
418     AC_DEFINE(HAVE_TANHF)
419     AC_DEFINE(HAVE_TANHL)
420     ;;
421   *)
422     AC_MSG_ERROR([No support for this host/target combination.])
423    ;;
424 esac
425 ])