xref: /netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/crossconfig.m4 (revision cc576e1d8e4f4078fd4e81238abca9fca216f6ec)
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  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
171    AC_DEFINE(HAVE_ICONV)
172    AC_DEFINE(HAVE_ICONV_CLOSE)
173    AC_DEFINE(HAVE_ICONV_OPEN)
174    AC_DEFINE(HAVE_LC_MESSAGES)
175
176    AC_DEFINE(HAVE_MMAP)
177    AC_DEFINE(HAVE_GETPAGESIZE)
178    AC_DEFINE(HAVE_SETENV)
179    AC_DEFINE(HAVE_SIGSETJMP)
180
181    AC_DEFINE(HAVE_FINITEF)
182    AC_DEFINE(HAVE_FINITE)
183    AC_DEFINE(HAVE_FREXPF)
184    AC_DEFINE(HAVE_HYPOT)
185    AC_DEFINE(HAVE_HYPOTF)
186    AC_DEFINE(HAVE_ISINF)
187    AC_DEFINE(HAVE_ISINFF)
188    AC_DEFINE(HAVE_ISNAN)
189    AC_DEFINE(HAVE_ISNANF)
190    AC_DEFINE(HAVE_ACOSF)
191    AC_DEFINE(HAVE_ASINF)
192    AC_DEFINE(HAVE_ATAN2F)
193    AC_DEFINE(HAVE_ATANF)
194    AC_DEFINE(HAVE_CEILF)
195    AC_DEFINE(HAVE_COSF)
196    AC_DEFINE(HAVE_COSHF)
197    AC_DEFINE(HAVE_EXPF)
198    AC_DEFINE(HAVE_FABSF)
199    AC_DEFINE(HAVE_FLOORF)
200    AC_DEFINE(HAVE_FMODF)
201    AC_DEFINE(HAVE_FREXPF)
202    AC_DEFINE(HAVE_LDEXPF)
203    AC_DEFINE(HAVE_LOG10F)
204    AC_DEFINE(HAVE_LOGF)
205    AC_DEFINE(HAVE_MODF)
206    AC_DEFINE(HAVE_MODFF)
207    AC_DEFINE(HAVE_POWF)
208    AC_DEFINE(HAVE_SINF)
209    AC_DEFINE(HAVE_SINHF)
210    AC_DEFINE(HAVE_SQRTF)
211    AC_DEFINE(HAVE_STRTOF)
212    AC_DEFINE(HAVE_STRTOLD)
213    AC_DEFINE(HAVE_TANF)
214    AC_DEFINE(HAVE_TANHF)
215    if test x"long_double_math_on_this_cpu" = x"yes"; then
216      AC_DEFINE(HAVE_FINITEL)
217      AC_DEFINE(HAVE_ISINFL)
218      AC_DEFINE(HAVE_ISNANL)
219    fi
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  *-rtems*)
239    GLIBCXX_CHECK_COMPILER_FEATURES
240    GLIBCXX_CHECK_LINKER_FEATURES
241    GLIBCXX_CHECK_MATH_SUPPORT
242    GLIBCXX_CHECK_STDLIB_SUPPORT
243    ;;
244  *-solaris*)
245    GLIBCXX_CHECK_LINKER_FEATURES
246    AC_DEFINE(HAVE_MBSTATE_T)
247    AC_DEFINE(HAVE_FINITE)
248    AC_DEFINE(HAVE_FPCLASS)
249    # All of the dependencies for wide character support are here, so
250    # turn it on.
251    AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
252    # These two C99 functions are present only in Solaris >= 10
253    AC_DEFINE(HAVE_STRTOF)
254    AC_DEFINE(HAVE_STRTOLD)
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