Add the 'akaros' threading model to gcc (XCC)
[akaros.git] / tools / compilers / gcc-glibc / gcc-4.9.2-akaros / 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   *-akaros*)
202     GLIBCXX_CHECK_MATH_SUPPORT
203     GLIBCXX_CHECK_STDLIB_SUPPORT
204     ;;
205   *-rtems*)
206     GLIBCXX_CHECK_COMPILER_FEATURES
207     GLIBCXX_CHECK_LINKER_FEATURES
208     GLIBCXX_CHECK_MATH_SUPPORT
209     GLIBCXX_CHECK_STDLIB_SUPPORT
210     ;;
211   *-solaris*)
212     case "$target" in
213       *-solaris2.9 | *-solaris2.10)
214          GLIBCXX_CHECK_LINKER_FEATURES
215          AC_DEFINE(HAVE_MBSTATE_T)
216          AC_DEFINE(HAVE_FINITE)
217          AC_DEFINE(HAVE_FPCLASS)
218          # All of the dependencies for wide character support are here, so
219          # turn it on. 
220          AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 
221         ;;
222     esac
223     case "$target" in
224       *-*-solaris2.10)
225       # These two C99 functions are present only in Solaris >= 10
226       AC_DEFINE(HAVE_STRTOF)
227       AC_DEFINE(HAVE_STRTOLD)
228      ;;
229     esac
230     AC_DEFINE(HAVE_ISNAN)
231     AC_DEFINE(HAVE_ISNANF)
232     AC_DEFINE(HAVE_MODFF)
233     AC_DEFINE(HAVE_HYPOT)
234     ;;
235   *-tpf)
236     SECTION_FLAGS='-ffunction-sections -fdata-sections'
237     SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
238     AC_SUBST(SECTION_FLAGS)
239     AC_DEFINE(HAVE_FINITE)
240     AC_DEFINE(HAVE_FINITEF)
241     AC_DEFINE(HAVE_FREXPF)
242     AC_DEFINE(HAVE_HYPOTF)
243     AC_DEFINE(HAVE_ISINF)
244     AC_DEFINE(HAVE_ISINFF)
245     AC_DEFINE(HAVE_ISNAN)
246     AC_DEFINE(HAVE_ISNANF)
247     AC_DEFINE(HAVE_SINCOS)
248     AC_DEFINE(HAVE_SINCOSF)
249     if test x"long_double_math_on_this_cpu" = x"yes"; then
250       AC_DEFINE(HAVE_FINITEL)
251       AC_DEFINE(HAVE_HYPOTL)
252       AC_DEFINE(HAVE_ISINFL)
253       AC_DEFINE(HAVE_ISNANL)
254     fi
255     ;;
256   *-*vms*)
257     # Check for available headers.
258     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
259     GLIBCXX_CHECK_MATH_SUPPORT
260     GLIBCXX_CHECK_STDLIB_SUPPORT
261     ;;
262   *-vxworks)
263     AC_DEFINE(HAVE_ACOSF)
264     AC_DEFINE(HAVE_ASINF)
265     AC_DEFINE(HAVE_ATAN2F)
266     AC_DEFINE(HAVE_ATANF)
267     AC_DEFINE(HAVE_CEILF)
268     AC_DEFINE(HAVE_COSF)
269     AC_DEFINE(HAVE_COSHF)
270     AC_DEFINE(HAVE_EXPF)
271     AC_DEFINE(HAVE_FABSF)
272     AC_DEFINE(HAVE_FLOORF)
273     AC_DEFINE(HAVE_FMODF)
274     AC_DEFINE(HAVE_HYPOT)
275     AC_DEFINE(HAVE_LOG10F)
276     AC_DEFINE(HAVE_LOGF)
277     AC_DEFINE(HAVE_POWF)
278     AC_DEFINE(HAVE_SINF)
279     AC_DEFINE(HAVE_SINHF)
280     AC_DEFINE(HAVE_SQRTF)
281     AC_DEFINE(HAVE_TANF)
282     AC_DEFINE(HAVE_TANHF)
283     ;;
284   *)
285     AC_MSG_ERROR([No support for this host/target combination.])
286    ;;
287 esac
288 ])