* MAINTAINERS (Write After Approval): Remove Jim Blandy, Daniel
[official-gcc.git] / libstdc++-v3 / crossconfig.m4
blobfdaa9d6d0dd54c1d03f475986648cb3d88540f23
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   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
21     AC_DEFINE(HAVE_FINITE)
22     AC_DEFINE(HAVE_HYPOT)
23     AC_DEFINE(HAVE_ISNAN)
24     AC_DEFINE(HAVE_ISINF)
26     AC_DEFINE(HAVE_LDEXPF)
27     AC_DEFINE(HAVE_MODF)
28     AC_DEFINE(HAVE_SQRTF)
29     ;;
31   *-aix*)
32     GLIBCXX_CHECK_LINKER_FEATURES
33     GLIBCXX_CHECK_MATH_SUPPORT
34     GLIBCXX_CHECK_STDLIB_SUPPORT
35     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
36     # We don't yet support AIX's TLS ABI.
37     #GCC_CHECK_TLS
38     AM_ICONV
39     ;;
41   *-darwin*)
42     # Darwin versions vary, but the linker should work in a cross environment,
43     # so we just check for all the features here.
44     # Check for available headers.
46     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
47     GLIBCXX_CHECK_MATH_SUPPORT
48     GLIBCXX_CHECK_STDLIB_SUPPORT
49     ;;
51   *djgpp)
52     # GLIBCXX_CHECK_MATH_SUPPORT
53     AC_DEFINE(HAVE_ISINF)
54     AC_DEFINE(HAVE_ISNAN)
55     AC_DEFINE(HAVE_FINITE)
56     AC_DEFINE(HAVE_SINCOS)
57     AC_DEFINE(HAVE_HYPOT)
58     ;;
60   *-freebsd*)
61     SECTION_FLAGS='-ffunction-sections -fdata-sections'
62     AC_SUBST(SECTION_FLAGS) 
63     GLIBCXX_CHECK_LINKER_FEATURES
64     AC_DEFINE(HAVE_SETENV)
65     AC_DEFINE(HAVE_FINITEF)
66     AC_DEFINE(HAVE_FINITE)
67     AC_DEFINE(HAVE_FREXPF)
68     AC_DEFINE(HAVE_HYPOT)
69     AC_DEFINE(HAVE_HYPOTF)
70     AC_DEFINE(HAVE_ISINF)
71     AC_DEFINE(HAVE_ISNAN)
72     AC_DEFINE(HAVE_ISNANF)
74     AC_DEFINE(HAVE_ACOSF)
75     AC_DEFINE(HAVE_ASINF)
76     AC_DEFINE(HAVE_ATAN2F)
77     AC_DEFINE(HAVE_ATANF)
78     AC_DEFINE(HAVE_CEILF)
79     AC_DEFINE(HAVE_COSF)
80     AC_DEFINE(HAVE_COSHF)
81     AC_DEFINE(HAVE_EXPF)
82     AC_DEFINE(HAVE_FABSF)
83     AC_DEFINE(HAVE_FLOORF)
84     AC_DEFINE(HAVE_FMODF)
85     AC_DEFINE(HAVE_FREXPF)
86     AC_DEFINE(HAVE_LDEXPF)
87     AC_DEFINE(HAVE_LOG10F)
88     AC_DEFINE(HAVE_LOGF)
89     AC_DEFINE(HAVE_MODFF)
90     AC_DEFINE(HAVE_POWF)
91     AC_DEFINE(HAVE_SINF)
92     AC_DEFINE(HAVE_SINHF)
93     AC_DEFINE(HAVE_SQRTF)
94     AC_DEFINE(HAVE_TANF)
95     AC_DEFINE(HAVE_TANHF)
96     if test x"long_double_math_on_this_cpu" = x"yes"; then
97       AC_DEFINE(HAVE_FINITEL)
98       AC_DEFINE(HAVE_ISINFL)
99       AC_DEFINE(HAVE_ISNANL)
100     fi
101     ;;
102   *-hpux*)
103     SECTION_FLAGS='-ffunction-sections -fdata-sections'
104     AC_SUBST(SECTION_FLAGS)
105     GLIBCXX_CHECK_LINKER_FEATURES
107     # GLIBCXX_CHECK_MATH_SUPPORT
108     AC_DEFINE(HAVE_ISNAN)
109     AC_DEFINE(HAVE_HYPOT)
110     AC_DEFINE(HAVE_ACOSF)
111     AC_DEFINE(HAVE_ASINF)
112     AC_DEFINE(HAVE_ATANF)
113     AC_DEFINE(HAVE_COSF)
114     AC_DEFINE(HAVE_COSHF)
115     AC_DEFINE(HAVE_SINF)
116     AC_DEFINE(HAVE_SINHF)
117     AC_DEFINE(HAVE_TANF)
118     AC_DEFINE(HAVE_TANHF)
119     AC_DEFINE(HAVE_EXPF)
120     AC_DEFINE(HAVE_ATAN2F)
121     AC_DEFINE(HAVE_FABSF)
122     AC_DEFINE(HAVE_FMODF)
123     AC_DEFINE(HAVE_FREXPF)
124     AC_DEFINE(HAVE_LOGF)
125     AC_DEFINE(HAVE_LOG10F)
126     AC_DEFINE(HAVE_MODF)
127     AC_DEFINE(HAVE_POWF)
128     AC_DEFINE(HAVE_SQRTF)
130     # GLIBCXX_CHECK_STDLIB_SUPPORT
131     AC_DEFINE(HAVE_STRTOLD)
133     GCC_CHECK_TLS
134     case "$target" in
135       *-hpux10*)
136         AC_DEFINE(HAVE_ISINF)
137         AC_DEFINE(HAVE_ISINFF)
138         AC_DEFINE(HAVE_ISNANF)
139         AC_DEFINE(HAVE_FINITE)
140         AC_DEFINE(HAVE_FINITEF)
141         ;;
142     esac
143     ;;
144   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
145     GLIBCXX_CHECK_COMPILER_FEATURES
146     GLIBCXX_CHECK_LINKER_FEATURES
147     GLIBCXX_CHECK_MATH_SUPPORT
148     GLIBCXX_CHECK_STDLIB_SUPPORT
149     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
150     GCC_CHECK_TLS
151     AM_ICONV
152     ;;
153   *-mingw32*)
154     GLIBCXX_CHECK_LINKER_FEATURES
155     GLIBCXX_CHECK_MATH_SUPPORT
156     GLIBCXX_CHECK_STDLIB_SUPPORT
157     ;;
158   *-netbsd*)
159     SECTION_FLAGS='-ffunction-sections -fdata-sections'
160     AC_SUBST(SECTION_FLAGS) 
161     GLIBCXX_CHECK_LINKER_FEATURES
162     AC_DEFINE(HAVE_FINITEF)
163     AC_DEFINE(HAVE_FINITE)
164     AC_DEFINE(HAVE_FREXPF)
165     AC_DEFINE(HAVE_HYPOTF)
166     AC_DEFINE(HAVE_ISINF)
167     AC_DEFINE(HAVE_ISINFF)
168     AC_DEFINE(HAVE_ISNAN)
169     AC_DEFINE(HAVE_ISNANF)
170     if test x"long_double_math_on_this_cpu" = x"yes"; then
171       AC_DEFINE(HAVE_FINITEL)
172       AC_DEFINE(HAVE_ISINFL)
173       AC_DEFINE(HAVE_ISNANL)
174     fi
175     ;;
176   *-netware)
177     SECTION_FLAGS='-ffunction-sections -fdata-sections'
178     AC_SUBST(SECTION_FLAGS)
179     GLIBCXX_CHECK_LINKER_FEATURES
180     AC_DEFINE(HAVE_HYPOT)
181     AC_DEFINE(HAVE_ISINF)
182     AC_DEFINE(HAVE_ISNAN)
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   *-solaris*)
202     case "$target" in
203       *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
204          GLIBCXX_CHECK_LINKER_FEATURES
205          AC_DEFINE(HAVE_MBSTATE_T)
206          AC_DEFINE(HAVE_FINITE)
207          AC_DEFINE(HAVE_FPCLASS)
208          # All of the dependencies for wide character support are here, so
209          # turn it on. 
210          AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 
211         ;;
212     esac
213     case "$target" in
214       *-*-solaris2.10)
215       # These two C99 functions are present only in Solaris >= 10
216       AC_DEFINE(HAVE_STRTOF)
217       AC_DEFINE(HAVE_STRTOLD)
218      ;;
219     esac
220     AC_DEFINE(HAVE_ISNAN)
221     AC_DEFINE(HAVE_ISNANF)
222     AC_DEFINE(HAVE_MODFF)
223     AC_DEFINE(HAVE_HYPOT)
224     ;;
225   *-tpf)
226     SECTION_FLAGS='-ffunction-sections -fdata-sections'
227     AC_SUBST(SECTION_FLAGS)
228     GLIBCXX_CHECK_LINKER_FEATURES
229     AC_DEFINE(HAVE_FINITE)
230     AC_DEFINE(HAVE_FINITEF)
231     AC_DEFINE(HAVE_FREXPF)
232     AC_DEFINE(HAVE_HYPOTF)
233     AC_DEFINE(HAVE_ISINF)
234     AC_DEFINE(HAVE_ISINFF)
235     AC_DEFINE(HAVE_ISNAN)
236     AC_DEFINE(HAVE_ISNANF)
237     AC_DEFINE(HAVE_SINCOS)
238     AC_DEFINE(HAVE_SINCOSF)
239     if test x"long_double_math_on_this_cpu" = x"yes"; then
240       AC_DEFINE(HAVE_FINITEL)
241       AC_DEFINE(HAVE_HYPOTL)
242       AC_DEFINE(HAVE_ISINFL)
243       AC_DEFINE(HAVE_ISNANL)
244     fi
245     ;;
246   *-vxworks)
247     AC_DEFINE(HAVE_ACOSF)
248     AC_DEFINE(HAVE_ASINF)
249     AC_DEFINE(HAVE_ATAN2F)
250     AC_DEFINE(HAVE_ATANF)
251     AC_DEFINE(HAVE_CEILF)
252     AC_DEFINE(HAVE_COSF)
253     AC_DEFINE(HAVE_COSHF)
254     AC_DEFINE(HAVE_EXPF)
255     AC_DEFINE(HAVE_FABSF)
256     AC_DEFINE(HAVE_FLOORF)
257     AC_DEFINE(HAVE_FMODF)
258     AC_DEFINE(HAVE_HYPOT)
259     AC_DEFINE(HAVE_LOG10F)
260     AC_DEFINE(HAVE_LOGF)
261     AC_DEFINE(HAVE_POWF)
262     AC_DEFINE(HAVE_SINF)
263     AC_DEFINE(HAVE_SINHF)
264     AC_DEFINE(HAVE_SQRTF)
265     AC_DEFINE(HAVE_TANF)
266     AC_DEFINE(HAVE_TANHF)
267     ;;
268   *)
269     AC_MSG_ERROR([No support for this host/target combination.])
270    ;;
271 esac