xref: /netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/crossconfig.m4 (revision 4d5abbe83f525258eb479e5fca29f25cb943f379)
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  *-qnx6.1* | *-qnx6.2*)
214    SECTION_FLAGS='-ffunction-sections -fdata-sections'
215    AC_SUBST(SECTION_FLAGS)
216    GLIBCXX_CHECK_LINKER_FEATURES
217    AC_DEFINE(HAVE_COSF)
218    AC_DEFINE(HAVE_COSL)
219    AC_DEFINE(HAVE_COSHF)
220    AC_DEFINE(HAVE_COSHL)
221    AC_DEFINE(HAVE_LOGF)
222    AC_DEFINE(HAVE_LOGL)
223    AC_DEFINE(HAVE_LOG10F)
224    AC_DEFINE(HAVE_LOG10L)
225    AC_DEFINE(HAVE_SINF)
226    AC_DEFINE(HAVE_SINL)
227    AC_DEFINE(HAVE_SINHF)
228    AC_DEFINE(HAVE_SINHL)
229    ;;
230  *-rtems*)
231    GLIBCXX_CHECK_COMPILER_FEATURES
232    GLIBCXX_CHECK_LINKER_FEATURES
233    GLIBCXX_CHECK_MATH_SUPPORT
234    GLIBCXX_CHECK_STDLIB_SUPPORT
235    ;;
236  *-solaris*)
237    case "$target" in
238      *-solaris2.9 | *-solaris2.10)
239         GLIBCXX_CHECK_LINKER_FEATURES
240         AC_DEFINE(HAVE_MBSTATE_T)
241         AC_DEFINE(HAVE_FINITE)
242         AC_DEFINE(HAVE_FPCLASS)
243         # All of the dependencies for wide character support are here, so
244         # turn it on.
245         AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
246        ;;
247    esac
248    case "$target" in
249      *-*-solaris2.10)
250      # These two C99 functions are present only in Solaris >= 10
251      AC_DEFINE(HAVE_STRTOF)
252      AC_DEFINE(HAVE_STRTOLD)
253     ;;
254    esac
255    AC_DEFINE(HAVE_ISNAN)
256    AC_DEFINE(HAVE_ISNANF)
257    AC_DEFINE(HAVE_MODFF)
258    AC_DEFINE(HAVE_HYPOT)
259    ;;
260  *-tpf)
261    SECTION_FLAGS='-ffunction-sections -fdata-sections'
262    SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
263    AC_SUBST(SECTION_FLAGS)
264    AC_DEFINE(HAVE_FINITE)
265    AC_DEFINE(HAVE_FINITEF)
266    AC_DEFINE(HAVE_FREXPF)
267    AC_DEFINE(HAVE_HYPOTF)
268    AC_DEFINE(HAVE_ISINF)
269    AC_DEFINE(HAVE_ISINFF)
270    AC_DEFINE(HAVE_ISNAN)
271    AC_DEFINE(HAVE_ISNANF)
272    AC_DEFINE(HAVE_SINCOS)
273    AC_DEFINE(HAVE_SINCOSF)
274    if test x"long_double_math_on_this_cpu" = x"yes"; then
275      AC_DEFINE(HAVE_FINITEL)
276      AC_DEFINE(HAVE_HYPOTL)
277      AC_DEFINE(HAVE_ISINFL)
278      AC_DEFINE(HAVE_ISNANL)
279    fi
280    ;;
281  *-*vms*)
282    # Check for available headers.
283    # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
284    GLIBCXX_CHECK_MATH_SUPPORT
285    GLIBCXX_CHECK_STDLIB_SUPPORT
286    ;;
287  *-vxworks)
288    AC_DEFINE(HAVE_ACOSF)
289    AC_DEFINE(HAVE_ASINF)
290    AC_DEFINE(HAVE_ATAN2F)
291    AC_DEFINE(HAVE_ATANF)
292    AC_DEFINE(HAVE_CEILF)
293    AC_DEFINE(HAVE_COSF)
294    AC_DEFINE(HAVE_COSHF)
295    AC_DEFINE(HAVE_EXPF)
296    AC_DEFINE(HAVE_FABSF)
297    AC_DEFINE(HAVE_FLOORF)
298    AC_DEFINE(HAVE_FMODF)
299    AC_DEFINE(HAVE_HYPOT)
300    AC_DEFINE(HAVE_LOG10F)
301    AC_DEFINE(HAVE_LOGF)
302    AC_DEFINE(HAVE_POWF)
303    AC_DEFINE(HAVE_SINF)
304    AC_DEFINE(HAVE_SINHF)
305    AC_DEFINE(HAVE_SQRTF)
306    AC_DEFINE(HAVE_TANF)
307    AC_DEFINE(HAVE_TANHF)
308    ;;
309  *)
310    AC_MSG_ERROR([No support for this host/target combination.])
311   ;;
312esac
313])
314