Fix linemap corruption after very wide source lines (PR c++/72803)
[official-gcc.git] / libstdc++-v3 / crossconfig.m4
bloba765a184caa90fed055b1bc27e379461995389ae
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   avr*-*-*)
13     AC_DEFINE(HAVE_ACOSF)
14     AC_DEFINE(HAVE_ASINF)
15     AC_DEFINE(HAVE_ATAN2F)
16     AC_DEFINE(HAVE_ATANF)
17     AC_DEFINE(HAVE_CEILF)
18     AC_DEFINE(HAVE_COSF)
19     AC_DEFINE(HAVE_COSHF)
20     AC_DEFINE(HAVE_EXPF)
21     AC_DEFINE(HAVE_FABSF)
22     AC_DEFINE(HAVE_FLOORF)
23     AC_DEFINE(HAVE_FMODF)
24     AC_DEFINE(HAVE_FREXPF)
25     AC_DEFINE(HAVE_SQRTF)
26     AC_DEFINE(HAVE_HYPOTF)
27     AC_DEFINE(HAVE_LDEXPF)
28     AC_DEFINE(HAVE_LOG10F)
29     AC_DEFINE(HAVE_LOGF)
30     AC_DEFINE(HAVE_MODFF)
31     AC_DEFINE(HAVE_POWF)
32     AC_DEFINE(HAVE_SINF)
33     AC_DEFINE(HAVE_SINHF)
34     AC_DEFINE(HAVE_TANF)
35     AC_DEFINE(HAVE_TANHF)
36     ;;
38   mips*-sde-elf*)
39     # These definitions are for the SDE C library rather than newlib.
40     SECTION_FLAGS='-ffunction-sections -fdata-sections'
41     AC_SUBST(SECTION_FLAGS)
42     GLIBCXX_CHECK_COMPILER_FEATURES
43     GLIBCXX_CHECK_LINKER_FEATURES
44     GLIBCXX_CHECK_MATH_SUPPORT
45     GLIBCXX_CHECK_STDLIB_SUPPORT
47     AC_DEFINE(HAVE_FINITE)
48     AC_DEFINE(HAVE_HYPOT)
49     AC_DEFINE(HAVE_ISNAN)
50     AC_DEFINE(HAVE_ISINF)
52     AC_DEFINE(HAVE_LDEXPF)
53     AC_DEFINE(HAVE_MODF)
54     AC_DEFINE(HAVE_SQRTF)
55     ;;
57   spu-*-elf*)
58     GLIBCXX_CHECK_COMPILER_FEATURES
59     GLIBCXX_CHECK_LINKER_FEATURES
60     GLIBCXX_CHECK_MATH_SUPPORT
61     GLIBCXX_CHECK_STDLIB_SUPPORT
62     AM_ICONV
63     ;;
65   *-aix*)
66     GLIBCXX_CHECK_LINKER_FEATURES
67     GLIBCXX_CHECK_MATH_SUPPORT
68     GLIBCXX_CHECK_STDLIB_SUPPORT
69     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
70     # We don't yet support AIX's TLS ABI.
71     #GCC_CHECK_TLS
72     AM_ICONV
73     ;;
75   *-darwin*)
76     # Darwin versions vary, but the linker should work in a cross environment,
77     # so we just check for all the features here.
78     # Check for available headers.
80     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
81     GLIBCXX_CHECK_MATH_SUPPORT
82     GLIBCXX_CHECK_STDLIB_SUPPORT
83     ;;
85   *djgpp)
86     # GLIBCXX_CHECK_MATH_SUPPORT
87     AC_DEFINE(HAVE_ISINF)
88     AC_DEFINE(HAVE_ISNAN)
89     AC_DEFINE(HAVE_FINITE)
90     AC_DEFINE(HAVE_SINCOS)
91     AC_DEFINE(HAVE_HYPOT)
92     ;;
94   *-freebsd*)
95     SECTION_FLAGS='-ffunction-sections -fdata-sections'
96     AC_SUBST(SECTION_FLAGS) 
97     GLIBCXX_CHECK_LINKER_FEATURES
98     AC_DEFINE(HAVE_SETENV)
99     AC_DEFINE(HAVE_FINITEF)
100     AC_DEFINE(HAVE_FINITE)
101     AC_DEFINE(HAVE_FREXPF)
102     AC_DEFINE(HAVE_HYPOT)
103     AC_DEFINE(HAVE_HYPOTF)
104     AC_DEFINE(HAVE_ISINF)
105     AC_DEFINE(HAVE_ISNAN)
106     AC_DEFINE(HAVE_ISNANF)
108     AC_DEFINE(HAVE_ACOSF)
109     AC_DEFINE(HAVE_ASINF)
110     AC_DEFINE(HAVE_ATAN2F)
111     AC_DEFINE(HAVE_ATANF)
112     AC_DEFINE(HAVE_CEILF)
113     AC_DEFINE(HAVE_COSF)
114     AC_DEFINE(HAVE_COSHF)
115     AC_DEFINE(HAVE_EXPF)
116     AC_DEFINE(HAVE_FABSF)
117     AC_DEFINE(HAVE_FLOORF)
118     AC_DEFINE(HAVE_FMODF)
119     AC_DEFINE(HAVE_FREXPF)
120     AC_DEFINE(HAVE_LDEXPF)
121     AC_DEFINE(HAVE_LOG10F)
122     AC_DEFINE(HAVE_LOGF)
123     AC_DEFINE(HAVE_MODFF)
124     AC_DEFINE(HAVE_POWF)
125     AC_DEFINE(HAVE_SINF)
126     AC_DEFINE(HAVE_SINHF)
127     AC_DEFINE(HAVE_SQRTF)
128     AC_DEFINE(HAVE_TANF)
129     AC_DEFINE(HAVE_TANHF)
130     if test x"long_double_math_on_this_cpu" = x"yes"; then
131       AC_DEFINE(HAVE_FINITEL)
132       AC_DEFINE(HAVE_ISINFL)
133       AC_DEFINE(HAVE_ISNANL)
134     fi
135     AC_CHECK_FUNCS(__cxa_thread_atexit)
136     ;;
137   *-hpux*)
138     SECTION_FLAGS='-ffunction-sections -fdata-sections'
139     AC_SUBST(SECTION_FLAGS)
140     GLIBCXX_CHECK_LINKER_FEATURES
142     # GLIBCXX_CHECK_MATH_SUPPORT
143     AC_DEFINE(HAVE_ISNAN)
144     AC_DEFINE(HAVE_HYPOT)
145     AC_DEFINE(HAVE_ACOSF)
146     AC_DEFINE(HAVE_ASINF)
147     AC_DEFINE(HAVE_ATANF)
148     AC_DEFINE(HAVE_COSF)
149     AC_DEFINE(HAVE_COSHF)
150     AC_DEFINE(HAVE_SINF)
151     AC_DEFINE(HAVE_SINHF)
152     AC_DEFINE(HAVE_TANF)
153     AC_DEFINE(HAVE_TANHF)
154     AC_DEFINE(HAVE_EXPF)
155     AC_DEFINE(HAVE_ATAN2F)
156     AC_DEFINE(HAVE_FABSF)
157     AC_DEFINE(HAVE_FMODF)
158     AC_DEFINE(HAVE_FREXPF)
159     AC_DEFINE(HAVE_LOGF)
160     AC_DEFINE(HAVE_LOG10F)
161     AC_DEFINE(HAVE_MODF)
162     AC_DEFINE(HAVE_POWF)
163     AC_DEFINE(HAVE_SQRTF)
165     # GLIBCXX_CHECK_STDLIB_SUPPORT
166     AC_DEFINE(HAVE_STRTOLD)
168     GCC_CHECK_TLS
169     case "$target" in
170       *-hpux10*)
171         AC_DEFINE(HAVE_ISINF)
172         AC_DEFINE(HAVE_ISINFF)
173         AC_DEFINE(HAVE_ISNANF)
174         AC_DEFINE(HAVE_FINITE)
175         AC_DEFINE(HAVE_FINITEF)
176         ;;
177     esac
178     ;;
179   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin*)
180     GLIBCXX_CHECK_COMPILER_FEATURES
181     GLIBCXX_CHECK_LINKER_FEATURES
182     GLIBCXX_CHECK_MATH_SUPPORT
183     GLIBCXX_CHECK_STDLIB_SUPPORT
184     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
185     GCC_CHECK_TLS
186     AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
187     AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
188     AM_ICONV
189     ;;
190   *-mingw32*)
191     GLIBCXX_CHECK_LINKER_FEATURES
192     GLIBCXX_CHECK_MATH_SUPPORT
193     GLIBCXX_CHECK_STDLIB_SUPPORT
194     ;;
195   *-netbsd*)
196     SECTION_FLAGS='-ffunction-sections -fdata-sections'
197     AC_SUBST(SECTION_FLAGS) 
198     GLIBCXX_CHECK_LINKER_FEATURES
199     AC_DEFINE(HAVE_FINITEF)
200     AC_DEFINE(HAVE_FINITE)
201     AC_DEFINE(HAVE_FREXPF)
202     AC_DEFINE(HAVE_HYPOTF)
203     AC_DEFINE(HAVE_ISINF)
204     AC_DEFINE(HAVE_ISINFF)
205     AC_DEFINE(HAVE_ISNAN)
206     AC_DEFINE(HAVE_ISNANF)
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     GLIBCXX_CHECK_LINKER_FEATURES
238     AC_DEFINE(HAVE_MBSTATE_T)
239     AC_DEFINE(HAVE_FINITE)
240     AC_DEFINE(HAVE_FPCLASS)
241     # All of the dependencies for wide character support are here, so
242     # turn it on. 
243     AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 
244     # These two C99 functions are present only in Solaris >= 10
245     AC_DEFINE(HAVE_STRTOF)
246     AC_DEFINE(HAVE_STRTOLD)
247     AC_DEFINE(HAVE_ISNAN)
248     AC_DEFINE(HAVE_ISNANF)
249     AC_DEFINE(HAVE_MODFF)
250     AC_DEFINE(HAVE_HYPOT)
251     ;;
252   *-tpf)
253     SECTION_FLAGS='-ffunction-sections -fdata-sections'
254     SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
255     AC_SUBST(SECTION_FLAGS)
256     AC_DEFINE(HAVE_FINITE)
257     AC_DEFINE(HAVE_FINITEF)
258     AC_DEFINE(HAVE_FREXPF)
259     AC_DEFINE(HAVE_HYPOTF)
260     AC_DEFINE(HAVE_ISINF)
261     AC_DEFINE(HAVE_ISINFF)
262     AC_DEFINE(HAVE_ISNAN)
263     AC_DEFINE(HAVE_ISNANF)
264     AC_DEFINE(HAVE_SINCOS)
265     AC_DEFINE(HAVE_SINCOSF)
266     if test x"long_double_math_on_this_cpu" = x"yes"; then
267       AC_DEFINE(HAVE_FINITEL)
268       AC_DEFINE(HAVE_HYPOTL)
269       AC_DEFINE(HAVE_ISINFL)
270       AC_DEFINE(HAVE_ISNANL)
271     fi
272     ;;
273   *-*vms*)
274     # Check for available headers.
275     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
276     GLIBCXX_CHECK_MATH_SUPPORT
277     GLIBCXX_CHECK_STDLIB_SUPPORT
278     ;;
279   *-vxworks)
280     AC_DEFINE(HAVE_ACOSF)
281     AC_DEFINE(HAVE_ASINF)
282     AC_DEFINE(HAVE_ATAN2F)
283     AC_DEFINE(HAVE_ATANF)
284     AC_DEFINE(HAVE_CEILF)
285     AC_DEFINE(HAVE_COSF)
286     AC_DEFINE(HAVE_COSHF)
287     AC_DEFINE(HAVE_EXPF)
288     AC_DEFINE(HAVE_FABSF)
289     AC_DEFINE(HAVE_FLOORF)
290     AC_DEFINE(HAVE_FMODF)
291     AC_DEFINE(HAVE_HYPOT)
292     AC_DEFINE(HAVE_LOG10F)
293     AC_DEFINE(HAVE_LOGF)
294     AC_DEFINE(HAVE_POWF)
295     AC_DEFINE(HAVE_SINF)
296     AC_DEFINE(HAVE_SINHF)
297     AC_DEFINE(HAVE_SQRTF)
298     AC_DEFINE(HAVE_TANF)
299     AC_DEFINE(HAVE_TANHF)
300     ;;
301   *)
302     AC_MSG_ERROR([No support for this host/target combination.])
303    ;;
304 esac