OSDN Git Service

2009-01-12 Benjamin Kosnik <bkoz@redhat.com>
[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   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_COMPLEX_MATH_SUPPORT
20     GLIBCXX_CHECK_STDLIB_SUPPORT
21
22     AC_DEFINE(HAVE_LIBM)
23     AC_DEFINE(HAVE_COPYSIGN)
24     AC_DEFINE(HAVE_FINITE)
25     AC_DEFINE(HAVE_HYPOT)
26     AC_DEFINE(HAVE_ISNAN)
27     AC_DEFINE(HAVE_ISINF)
28
29     AC_DEFINE(HAVE_LDEXPF)
30     AC_DEFINE(HAVE_MODF)
31     AC_DEFINE(HAVE_SQRTF)
32     ;;
33
34   *-darwin*)
35     # Darwin versions vary, but the linker should work in a cross environment,
36     # so we just check for all the features here.
37     # Check for available headers.
38
39     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
40     GLIBCXX_CHECK_MATH_SUPPORT
41     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
42     GLIBCXX_CHECK_STDLIB_SUPPORT
43     ;;
44
45   *djgpp)
46     # GLIBCXX_CHECK_MATH_SUPPORT
47     AC_DEFINE(HAVE_LIBM)
48     AC_DEFINE(HAVE_ISINF)
49     AC_DEFINE(HAVE_ISNAN)
50     AC_DEFINE(HAVE_FINITE)
51     AC_DEFINE(HAVE_COPYSIGN)
52     AC_DEFINE(HAVE_SINCOS)
53     AC_DEFINE(HAVE_HYPOT)
54     # GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
55     # GLIBCXX_CHECK_STDLIB_SUPPORT
56     AC_DEFINE(HAVE_COPYSIGN)
57     AC_DEFINE(HAVE_COPYSIGNF)
58     ;;
59
60   *-freebsd*)
61     SECTION_FLAGS='-ffunction-sections -fdata-sections'
62     AC_SUBST(SECTION_FLAGS) 
63     GLIBCXX_CHECK_LINKER_FEATURES
64     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
65     AC_DEFINE(HAVE_SETENV)
66     AC_DEFINE(HAVE_COPYSIGN)
67     AC_DEFINE(HAVE_COPYSIGNF)
68     AC_DEFINE(HAVE_FINITEF)
69     AC_DEFINE(HAVE_FINITE)
70     AC_DEFINE(HAVE_FREXPF)
71     AC_DEFINE(HAVE_HYPOT)
72     AC_DEFINE(HAVE_HYPOTF)
73     AC_DEFINE(HAVE_ISINF)
74     AC_DEFINE(HAVE_ISNAN)
75     AC_DEFINE(HAVE_ISNANF)
76
77     AC_DEFINE(HAVE_ACOSF)
78     AC_DEFINE(HAVE_ASINF)
79     AC_DEFINE(HAVE_ATAN2F)
80     AC_DEFINE(HAVE_ATANF)
81     AC_DEFINE(HAVE_CEILF)
82     AC_DEFINE(HAVE_COPYSIGN)
83     AC_DEFINE(HAVE_COPYSIGNF)
84     AC_DEFINE(HAVE_COSF)
85     AC_DEFINE(HAVE_COSHF)
86     AC_DEFINE(HAVE_EXPF)
87     AC_DEFINE(HAVE_FABSF)
88     AC_DEFINE(HAVE_FLOORF)
89     AC_DEFINE(HAVE_FMODF)
90     AC_DEFINE(HAVE_FREXPF)
91     AC_DEFINE(HAVE_LDEXPF)
92     AC_DEFINE(HAVE_LOG10F)
93     AC_DEFINE(HAVE_LOGF)
94     AC_DEFINE(HAVE_MODFF)
95     AC_DEFINE(HAVE_POWF)
96     AC_DEFINE(HAVE_SINF)
97     AC_DEFINE(HAVE_SINHF)
98     AC_DEFINE(HAVE_SQRTF)
99     AC_DEFINE(HAVE_TANF)
100     AC_DEFINE(HAVE_TANHF)
101     if test x"long_double_math_on_this_cpu" = x"yes"; then
102       AC_DEFINE(HAVE_FINITEL)
103       AC_DEFINE(HAVE_ISINFL)
104       AC_DEFINE(HAVE_ISNANL)
105     fi
106     ;;
107   *-hpux*)
108     SECTION_FLAGS='-ffunction-sections -fdata-sections'
109     AC_SUBST(SECTION_FLAGS)
110     GLIBCXX_CHECK_LINKER_FEATURES
111
112     # GLIBCXX_CHECK_MATH_SUPPORT
113     AC_DEFINE(HAVE_ISNAN)
114     AC_DEFINE(HAVE_COPYSIGN)
115     AC_DEFINE(HAVE_COPYSIGNF)
116     AC_DEFINE(HAVE_HYPOT)
117     AC_DEFINE(HAVE_ACOSF)
118     AC_DEFINE(HAVE_ASINF)
119     AC_DEFINE(HAVE_ATANF)
120     AC_DEFINE(HAVE_COSF)
121     AC_DEFINE(HAVE_COSHF)
122     AC_DEFINE(HAVE_SINF)
123     AC_DEFINE(HAVE_SINHF)
124     AC_DEFINE(HAVE_TANF)
125     AC_DEFINE(HAVE_TANHF)
126     AC_DEFINE(HAVE_EXPF)
127     AC_DEFINE(HAVE_ATAN2F)
128     AC_DEFINE(HAVE_FABSF)
129     AC_DEFINE(HAVE_FMODF)
130     AC_DEFINE(HAVE_FREXPF)
131     AC_DEFINE(HAVE_LOGF)
132     AC_DEFINE(HAVE_LOG10F)
133     AC_DEFINE(HAVE_MODF)
134     AC_DEFINE(HAVE_POWF)
135     AC_DEFINE(HAVE_SQRTF)
136
137     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
138
139     # GLIBCXX_CHECK_STDLIB_SUPPORT
140     AC_DEFINE(HAVE_STRTOLD)
141
142     GCC_CHECK_TLS
143     case "$target" in
144       *-hpux10*)
145         AC_DEFINE(HAVE_ISINF)
146         AC_DEFINE(HAVE_ISINFF)
147         AC_DEFINE(HAVE_ISNANF)
148         AC_DEFINE(HAVE_FINITE)
149         AC_DEFINE(HAVE_FINITEF)
150         ;;
151     esac
152     ;;
153   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
154     GLIBCXX_CHECK_COMPILER_FEATURES
155     GLIBCXX_CHECK_LINKER_FEATURES
156     GLIBCXX_CHECK_MATH_SUPPORT
157     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
158     GLIBCXX_CHECK_STDLIB_SUPPORT
159     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
160     GCC_CHECK_TLS
161     AM_ICONV
162     ;;
163   *-mingw32*)
164     AC_DEFINE(HAVE_STRTOF)
165     AC_DEFINE(HAVE_STRTOLD)
166     GLIBCXX_CHECK_LINKER_FEATURES
167     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
168     ;;
169   *-netbsd*)
170     SECTION_FLAGS='-ffunction-sections -fdata-sections'
171     AC_SUBST(SECTION_FLAGS) 
172     GLIBCXX_CHECK_LINKER_FEATURES
173     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
174     AC_DEFINE(HAVE_COPYSIGN)
175     AC_DEFINE(HAVE_COPYSIGNF)
176     AC_DEFINE(HAVE_FINITEF)
177     AC_DEFINE(HAVE_FINITE)
178     AC_DEFINE(HAVE_FREXPF)
179     AC_DEFINE(HAVE_HYPOTF)
180     AC_DEFINE(HAVE_ISINF)
181     AC_DEFINE(HAVE_ISINFF)
182     AC_DEFINE(HAVE_ISNAN)
183     AC_DEFINE(HAVE_ISNANF)
184     if test x"long_double_math_on_this_cpu" = x"yes"; then
185       AC_DEFINE(HAVE_FINITEL)
186       AC_DEFINE(HAVE_ISINFL)
187       AC_DEFINE(HAVE_ISNANL)
188     fi
189     ;;
190   *-netware)
191     SECTION_FLAGS='-ffunction-sections -fdata-sections'
192     AC_SUBST(SECTION_FLAGS)
193     GLIBCXX_CHECK_LINKER_FEATURES
194     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
195     AC_DEFINE(HAVE_HYPOT)
196     AC_DEFINE(HAVE_ISINF)
197     AC_DEFINE(HAVE_ISNAN)
198     ;;
199   *-qnx6.1* | *-qnx6.2*)
200     SECTION_FLAGS='-ffunction-sections -fdata-sections'
201     AC_SUBST(SECTION_FLAGS) 
202     GLIBCXX_CHECK_LINKER_FEATURES
203     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
204     AC_DEFINE(HAVE_COSF)
205     AC_DEFINE(HAVE_COSL)
206     AC_DEFINE(HAVE_COSHF)
207     AC_DEFINE(HAVE_COSHL)
208     AC_DEFINE(HAVE_LOGF)
209     AC_DEFINE(HAVE_LOGL)
210     AC_DEFINE(HAVE_LOG10F)
211     AC_DEFINE(HAVE_LOG10L)
212     AC_DEFINE(HAVE_SINF)
213     AC_DEFINE(HAVE_SINL)
214     AC_DEFINE(HAVE_SINHF)
215     AC_DEFINE(HAVE_SINHL)
216     ;;
217   *-solaris*)
218     case "$target" in
219       *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
220          GLIBCXX_CHECK_LINKER_FEATURES
221          AC_DEFINE(HAVE_MBSTATE_T)
222          AC_DEFINE(HAVE_FINITE)
223          AC_DEFINE(HAVE_FPCLASS)
224          # All of the dependencies for wide character support are here, so
225          # turn it on. 
226          AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 
227
228          AC_DEFINE(HAVE_LIBM)
229         ;;
230     esac
231     case "$target" in
232       *-*-solaris2.10)
233       # These two C99 functions are present only in Solaris >= 10
234       AC_DEFINE(HAVE_STRTOF)
235       AC_DEFINE(HAVE_STRTOLD)
236      ;;
237     esac
238     AC_DEFINE(HAVE_COPYSIGN)
239     AC_DEFINE(HAVE_ISNAN)
240     AC_DEFINE(HAVE_ISNANF)
241     AC_DEFINE(HAVE_MODFF)
242     AC_DEFINE(HAVE_HYPOT)
243     ;;
244   *-tpf)
245     SECTION_FLAGS='-ffunction-sections -fdata-sections'
246     AC_SUBST(SECTION_FLAGS)
247     GLIBCXX_CHECK_LINKER_FEATURES
248     GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
249     AC_DEFINE(HAVE_COPYSIGN)
250     AC_DEFINE(HAVE_COPYSIGNF)
251     AC_DEFINE(HAVE_FINITE)
252     AC_DEFINE(HAVE_FINITEF)
253     AC_DEFINE(HAVE_FREXPF)
254     AC_DEFINE(HAVE_HYPOTF)
255     AC_DEFINE(HAVE_ISINF)
256     AC_DEFINE(HAVE_ISINFF)
257     AC_DEFINE(HAVE_ISNAN)
258     AC_DEFINE(HAVE_ISNANF)
259     AC_DEFINE(HAVE_SINCOS)
260     AC_DEFINE(HAVE_SINCOSF)
261     if test x"long_double_math_on_this_cpu" = x"yes"; then
262       AC_DEFINE(HAVE_FINITEL)
263       AC_DEFINE(HAVE_HYPOTL)
264       AC_DEFINE(HAVE_ISINFL)
265       AC_DEFINE(HAVE_ISNANL)
266     fi
267     ;;
268   *-vxworks)
269     AC_DEFINE(HAVE_ACOSF)
270     AC_DEFINE(HAVE_ASINF)
271     AC_DEFINE(HAVE_ATAN2F)
272     AC_DEFINE(HAVE_ATANF)
273     AC_DEFINE(HAVE_CEILF)
274     AC_DEFINE(HAVE_COSF)
275     AC_DEFINE(HAVE_COSHF)
276     AC_DEFINE(HAVE_EXPF)
277     AC_DEFINE(HAVE_FABSF)
278     AC_DEFINE(HAVE_FLOORF)
279     AC_DEFINE(HAVE_FMODF)
280     AC_DEFINE(HAVE_HYPOT)
281     AC_DEFINE(HAVE_LOG10F)
282     AC_DEFINE(HAVE_LOGF)
283     AC_DEFINE(HAVE_POWF)
284     AC_DEFINE(HAVE_SINF)
285     AC_DEFINE(HAVE_SINHF)
286     AC_DEFINE(HAVE_SQRTF)
287     AC_DEFINE(HAVE_TANF)
288     AC_DEFINE(HAVE_TANHF)
289     ;;
290   *)
291     AC_MSG_ERROR([No support for this host/target combination.])
292    ;;
293 esac
294 ])