xref: /netbsd-src/external/gpl3/gcc.old/dist/libstdc++-v3/crossconfig.m4 (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
1dnl
2dnl This file contains details for non-native builds.
3dnl
4
5AC_DEFUN([GLIBCXX_CROSSCONFIG],[
6# Base decisions on target environment.
7case "${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  *-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    ;;
40
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.
45
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    ;;
50
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    ;;
59
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)
73
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
106
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)
129
130    # GLIBCXX_CHECK_STDLIB_SUPPORT
131    AC_DEFINE(HAVE_STRTOLD)
132
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
163    AC_DEFINE(HAVE_ICONV)
164    AC_DEFINE(HAVE_ICONV_CLOSE)
165    AC_DEFINE(HAVE_ICONV_OPEN)
166    AC_DEFINE(HAVE_LC_MESSAGES)
167
168    AC_DEFINE(HAVE_MMAP)
169    AC_DEFINE(HAVE_GETPAGESIZE)
170    AC_DEFINE(HAVE_SETENV)
171    AC_DEFINE(HAVE_SIGSETJMP)
172
173    AC_DEFINE(HAVE_FINITEF)
174    AC_DEFINE(HAVE_FINITE)
175    AC_DEFINE(HAVE_FREXPF)
176    AC_DEFINE(HAVE_HYPOT)
177    AC_DEFINE(HAVE_HYPOTF)
178    AC_DEFINE(HAVE_ISINF)
179    AC_DEFINE(HAVE_ISINFF)
180    AC_DEFINE(HAVE_ISNAN)
181    AC_DEFINE(HAVE_ISNANF)
182    AC_DEFINE(HAVE_ACOSF)
183    AC_DEFINE(HAVE_ASINF)
184    AC_DEFINE(HAVE_ATAN2F)
185    AC_DEFINE(HAVE_ATANF)
186    AC_DEFINE(HAVE_CEILF)
187    AC_DEFINE(HAVE_COSF)
188    AC_DEFINE(HAVE_COSHF)
189    AC_DEFINE(HAVE_EXPF)
190    AC_DEFINE(HAVE_FABSF)
191    AC_DEFINE(HAVE_FLOORF)
192    AC_DEFINE(HAVE_FMODF)
193    AC_DEFINE(HAVE_FREXPF)
194    AC_DEFINE(HAVE_LDEXPF)
195    AC_DEFINE(HAVE_LOG10F)
196    AC_DEFINE(HAVE_LOGF)
197    AC_DEFINE(HAVE_MODF)
198    AC_DEFINE(HAVE_MODFF)
199    AC_DEFINE(HAVE_POWF)
200    AC_DEFINE(HAVE_SINF)
201    AC_DEFINE(HAVE_SINHF)
202    AC_DEFINE(HAVE_SQRTF)
203    AC_DEFINE(HAVE_STRTOF)
204    AC_DEFINE(HAVE_STRTOLD)
205    AC_DEFINE(HAVE_TANF)
206    AC_DEFINE(HAVE_TANHF)
207    if test x"long_double_math_on_this_cpu" = x"yes"; then
208      AC_DEFINE(HAVE_FINITEL)
209      AC_DEFINE(HAVE_ISINFL)
210      AC_DEFINE(HAVE_ISNANL)
211    fi
212    ;;
213  *-netware)
214    SECTION_FLAGS='-ffunction-sections -fdata-sections'
215    AC_SUBST(SECTION_FLAGS)
216    GLIBCXX_CHECK_LINKER_FEATURES
217    AC_DEFINE(HAVE_HYPOT)
218    AC_DEFINE(HAVE_ISINF)
219    AC_DEFINE(HAVE_ISNAN)
220    ;;
221  *-qnx6.1* | *-qnx6.2*)
222    SECTION_FLAGS='-ffunction-sections -fdata-sections'
223    AC_SUBST(SECTION_FLAGS)
224    GLIBCXX_CHECK_LINKER_FEATURES
225    AC_DEFINE(HAVE_COSF)
226    AC_DEFINE(HAVE_COSL)
227    AC_DEFINE(HAVE_COSHF)
228    AC_DEFINE(HAVE_COSHL)
229    AC_DEFINE(HAVE_LOGF)
230    AC_DEFINE(HAVE_LOGL)
231    AC_DEFINE(HAVE_LOG10F)
232    AC_DEFINE(HAVE_LOG10L)
233    AC_DEFINE(HAVE_SINF)
234    AC_DEFINE(HAVE_SINL)
235    AC_DEFINE(HAVE_SINHF)
236    AC_DEFINE(HAVE_SINHL)
237    ;;
238  *-solaris*)
239    case "$target" in
240      *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
241         GLIBCXX_CHECK_LINKER_FEATURES
242         AC_DEFINE(HAVE_MBSTATE_T)
243         AC_DEFINE(HAVE_FINITE)
244         AC_DEFINE(HAVE_FPCLASS)
245         # All of the dependencies for wide character support are here, so
246         # turn it on.
247         AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
248        ;;
249    esac
250    case "$target" in
251      *-*-solaris2.10)
252      # These two C99 functions are present only in Solaris >= 10
253      AC_DEFINE(HAVE_STRTOF)
254      AC_DEFINE(HAVE_STRTOLD)
255     ;;
256    esac
257    AC_DEFINE(HAVE_ISNAN)
258    AC_DEFINE(HAVE_ISNANF)
259    AC_DEFINE(HAVE_MODFF)
260    AC_DEFINE(HAVE_HYPOT)
261    ;;
262  *-tpf)
263    SECTION_FLAGS='-ffunction-sections -fdata-sections'
264    AC_SUBST(SECTION_FLAGS)
265    GLIBCXX_CHECK_LINKER_FEATURES
266    AC_DEFINE(HAVE_FINITE)
267    AC_DEFINE(HAVE_FINITEF)
268    AC_DEFINE(HAVE_FREXPF)
269    AC_DEFINE(HAVE_HYPOTF)
270    AC_DEFINE(HAVE_ISINF)
271    AC_DEFINE(HAVE_ISINFF)
272    AC_DEFINE(HAVE_ISNAN)
273    AC_DEFINE(HAVE_ISNANF)
274    AC_DEFINE(HAVE_SINCOS)
275    AC_DEFINE(HAVE_SINCOSF)
276    if test x"long_double_math_on_this_cpu" = x"yes"; then
277      AC_DEFINE(HAVE_FINITEL)
278      AC_DEFINE(HAVE_HYPOTL)
279      AC_DEFINE(HAVE_ISINFL)
280      AC_DEFINE(HAVE_ISNANL)
281    fi
282    ;;
283  *-vxworks)
284    AC_DEFINE(HAVE_ACOSF)
285    AC_DEFINE(HAVE_ASINF)
286    AC_DEFINE(HAVE_ATAN2F)
287    AC_DEFINE(HAVE_ATANF)
288    AC_DEFINE(HAVE_CEILF)
289    AC_DEFINE(HAVE_COSF)
290    AC_DEFINE(HAVE_COSHF)
291    AC_DEFINE(HAVE_EXPF)
292    AC_DEFINE(HAVE_FABSF)
293    AC_DEFINE(HAVE_FLOORF)
294    AC_DEFINE(HAVE_FMODF)
295    AC_DEFINE(HAVE_HYPOT)
296    AC_DEFINE(HAVE_LOG10F)
297    AC_DEFINE(HAVE_LOGF)
298    AC_DEFINE(HAVE_POWF)
299    AC_DEFINE(HAVE_SINF)
300    AC_DEFINE(HAVE_SINHF)
301    AC_DEFINE(HAVE_SQRTF)
302    AC_DEFINE(HAVE_TANF)
303    AC_DEFINE(HAVE_TANHF)
304    ;;
305  *)
306    AC_MSG_ERROR([No support for this host/target combination.])
307   ;;
308esac
309])
310