]> gcc.gnu.org Git - gcc.git/blame - libstdc++-v3/linkage.m4
simplify-rtx.c (associative_constant_p): New function to test whether an RTX expressi...
[gcc.git] / libstdc++-v3 / linkage.m4
CommitLineData
ff66d28f
PE
1dnl
2dnl This file contains stuff.
3dnl
4
5dnl
6dnl Check to see if the (math function) argument passed is
7dnl declared when using the c++ compiler
8dnl ASSUMES argument is a math function with ONE parameter
9dnl
10dnl GLIBCXX_CHECK_MATH_DECL_1
11AC_DEFUN(GLIBCXX_CHECK_MATH_DECL_1, [
12 AC_MSG_CHECKING([for $1 declaration])
13 if test x${glibcxx_cv_func_$1_use+set} != xset; then
14 AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
15 AC_LANG_SAVE
16 AC_LANG_CPLUSPLUS
17 AC_TRY_COMPILE([#include <math.h>
18 #ifdef HAVE_IEEEFP_H
19 #include <ieeefp.h>
20 #endif
21 ],
22 [ $1(0);],
23 [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
24 AC_LANG_RESTORE
25 ])
26 fi
27 AC_MSG_RESULT($glibcxx_cv_func_$1_use)
28])
29
30dnl
31dnl Check to see if the (math function) argument passed is
32dnl 1) declared when using the c++ compiler
33dnl 2) has "C" linkage
34dnl 3) if not, see if 1) and 2) for argument prepended with '_'
35dnl
36dnl Define HAVE_CARGF etc if "cargf" is declared and links
37dnl
38dnl argument 1 is name of function to check
39dnl
40dnl ASSUMES argument is a math function with ONE parameter
41dnl
42dnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1
43AC_DEFUN(GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1, [
44 GLIBCXX_CHECK_MATH_DECL_1($1)
45 if test x$glibcxx_cv_func_$1_use = x"yes"; then
46 AC_CHECK_FUNCS($1)
47 else
48 GLIBCXX_CHECK_MATH_DECL_1(_$1)
49 if test x$glibcxx_cv_func__$1_use = x"yes"; then
50 AC_CHECK_FUNCS(_$1)
51 fi
52 fi
53])
54
55
56dnl
57dnl Like GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of
58dnl of functions at once. It's an all-or-nothing check -- either
59dnl HAVE_XYZ is defined for each of the functions, or for none of them.
60dnl Doing it this way saves significant configure time.
61AC_DEFUN(GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1, [
62 AC_MSG_CHECKING([for $1 functions])
63 AC_CACHE_VAL(glibcxx_cv_func_$2_use, [
64 AC_LANG_SAVE
65 AC_LANG_CPLUSPLUS
66 AC_TRY_COMPILE([#include <math.h>],
67 [ `for x in $3; do echo "$x (0);"; done` ],
68 [glibcxx_cv_func_$2_use=yes],
69 [glibcxx_cv_func_$2_use=no])
70 AC_LANG_RESTORE])
71 AC_MSG_RESULT($glibcxx_cv_func_$2_use)
72 if test x$glibcxx_cv_func_$2_use = x"yes"; then
73 AC_CHECK_FUNCS($3)
74 fi
75])
76
77dnl
78dnl Check to see if the (math function) argument passed is
79dnl declared when using the c++ compiler
80dnl ASSUMES argument is a math function with TWO parameters
81dnl
82dnl GLIBCXX_CHECK_MATH_DECL_2
83AC_DEFUN(GLIBCXX_CHECK_MATH_DECL_2, [
84 AC_MSG_CHECKING([for $1 declaration])
85 if test x${glibcxx_cv_func_$1_use+set} != xset; then
86 AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
87 AC_LANG_SAVE
88 AC_LANG_CPLUSPLUS
89 AC_TRY_COMPILE([#include <math.h>],
90 [ $1(0, 0);],
91 [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
92 AC_LANG_RESTORE
93 ])
94 fi
95 AC_MSG_RESULT($glibcxx_cv_func_$1_use)
96])
97
98dnl
99dnl Check to see if the (math function) argument passed is
100dnl 1) declared when using the c++ compiler
101dnl 2) has "C" linkage
102dnl
103dnl Define HAVE_CARGF etc if "cargf" is declared and links
104dnl
105dnl argument 1 is name of function to check
106dnl
107dnl ASSUMES argument is a math function with TWO parameters
108dnl
109dnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2
110AC_DEFUN(GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2, [
111 GLIBCXX_CHECK_MATH_DECL_2($1)
112 if test x$glibcxx_cv_func_$1_use = x"yes"; then
113 AC_CHECK_FUNCS($1)
114 else
115 GLIBCXX_CHECK_MATH_DECL_2(_$1)
116 if test x$glibcxx_cv_func__$1_use = x"yes"; then
117 AC_CHECK_FUNCS(_$1)
118 fi
119 fi
120])
121
122
123dnl
124dnl Check to see if the (math function) argument passed is
125dnl declared when using the c++ compiler
126dnl ASSUMES argument is a math function with THREE parameters
127dnl
128dnl GLIBCXX_CHECK_MATH_DECL_3
129AC_DEFUN(GLIBCXX_CHECK_MATH_DECL_3, [
130 AC_MSG_CHECKING([for $1 declaration])
131 if test x${glibcxx_cv_func_$1_use+set} != xset; then
132 AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
133 AC_LANG_SAVE
134 AC_LANG_CPLUSPLUS
135 AC_TRY_COMPILE([#include <math.h>],
136 [ $1(0, 0, 0);],
137 [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
138 AC_LANG_RESTORE
139 ])
140 fi
141 AC_MSG_RESULT($glibcxx_cv_func_$1_use)
142])
143
144dnl
145dnl Check to see if the (math function) argument passed is
146dnl 1) declared when using the c++ compiler
147dnl 2) has "C" linkage
148dnl
149dnl Define HAVE_CARGF etc if "cargf" is declared and links
150dnl
151dnl argument 1 is name of function to check
152dnl
153dnl ASSUMES argument is a math function with THREE parameters
154dnl
155dnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3
156AC_DEFUN(GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3, [
157 GLIBCXX_CHECK_MATH_DECL_3($1)
158 if test x$glibcxx_cv_func_$1_use = x"yes"; then
159 AC_CHECK_FUNCS($1)
160 else
161 GLIBCXX_CHECK_MATH_DECL_3(_$1)
162 if test x$glibcxx_cv_func__$1_use = x"yes"; then
163 AC_CHECK_FUNCS(_$1)
164 fi
165 fi
166])
167
168
169dnl
170dnl Check to see if the (stdlib function) argument passed is
171dnl 1) declared when using the c++ compiler
172dnl 2) has "C" linkage
173dnl
174dnl argument 1 is name of function to check
175dnl
176dnl ASSUMES argument is a math function with TWO parameters
177dnl
178dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2
179AC_DEFUN(GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2, [
180 AC_MSG_CHECKING([for $1 declaration])
181 if test x${glibcxx_cv_func_$1_use+set} != xset; then
182 AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
183 AC_LANG_SAVE
184 AC_LANG_CPLUSPLUS
185 AC_TRY_COMPILE([#include <stdlib.h>],
186 [ $1(0, 0);],
187 [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
188 AC_LANG_RESTORE
189 ])
190 fi
191 AC_MSG_RESULT($glibcxx_cv_func_$1_use)
192 if test x$glibcxx_cv_func_$1_use = x"yes"; then
193 AC_CHECK_FUNCS($1)
194 fi
195])
196
197
198dnl
199dnl Check to see if the (stdlib function) argument passed is
200dnl 1) declared when using the c++ compiler
201dnl 2) has "C" linkage
202dnl
203dnl argument 1 is name of function to check
204dnl
205dnl ASSUMES argument is a function with THREE parameters
206dnl
207dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3
208AC_DEFUN(GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3, [
209 AC_MSG_CHECKING([for $1 declaration])
210 if test x${glibcxx_cv_func_$1_use+set} != xset; then
211 AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
212 AC_LANG_SAVE
213 AC_LANG_CPLUSPLUS
214 AC_TRY_COMPILE([#include <stdlib.h>],
215 [ $1(0, 0, 0);],
216 [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
217 AC_LANG_RESTORE
218 ])
219 fi
220 AC_MSG_RESULT($glibcxx_cv_func_$1_use)
221 if test x$glibcxx_cv_func_$1_use = x"yes"; then
222 AC_CHECK_FUNCS($1)
223 fi
224])
225
226dnl
227dnl Because the builtins are picky picky picky about the arguments they take,
228dnl do an explict linkage tests here.
229dnl Check to see if the (math function) argument passed is
230dnl 1) declared when using the c++ compiler
231dnl 2) has "C" linkage
232dnl
233dnl Define HAVE_CARGF etc if "cargf" is declared and links
234dnl
235dnl argument 1 is name of function to check
236dnl
237dnl ASSUMES argument is a math function with ONE parameter
238dnl
239dnl GLIBCXX_CHECK_BUILTIN_MATH_DECL_LINKAGE_1
240AC_DEFUN(GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1, [
241 AC_MSG_CHECKING([for $1 declaration])
242 if test x${glibcxx_cv_func_$1_use+set} != xset; then
243 AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
244 AC_LANG_SAVE
245 AC_LANG_CPLUSPLUS
246 AC_TRY_COMPILE([#include <math.h>],
247 [ $1(0);],
248 [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
249 AC_LANG_RESTORE
250 ])
251 fi
252 AC_MSG_RESULT($glibcxx_cv_func_$1_use)
253 if test x$glibcxx_cv_func_$1_use = x"yes"; then
254 AC_MSG_CHECKING([for $1 linkage])
255 if test x${glibcxx_cv_func_$1_link+set} != xset; then
256 AC_CACHE_VAL(glibcxx_cv_func_$1_link, [
257 AC_TRY_LINK([#include <math.h>],
258 [ $1(0);],
259 [glibcxx_cv_func_$1_link=yes], [glibcxx_cv_func_$1_link=no])
260 ])
261 fi
262 AC_MSG_RESULT($glibcxx_cv_func_$1_link)
263 if test x$glibcxx_cv_func_$1_link = x"yes"; then
264 ac_tr_func=HAVE_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
265 AC_DEFINE_UNQUOTED(${ac_tr_func})
266 fi
267 fi
268])
269
270
271dnl
272dnl Check to see what builtin math functions are supported
273dnl
274dnl check for __builtin_abs
275dnl check for __builtin_fabsf
276dnl check for __builtin_fabs
277dnl check for __builtin_fabl
278dnl check for __builtin_labs
279dnl check for __builtin_sqrtf
280dnl check for __builtin_sqrtl
281dnl check for __builtin_sqrt
282dnl check for __builtin_sinf
283dnl check for __builtin_sin
284dnl check for __builtin_sinl
285dnl check for __builtin_cosf
286dnl check for __builtin_cos
287dnl check for __builtin_cosl
288dnl
289dnl GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
290AC_DEFUN(GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT, [
291 dnl Test for builtin math functions.
292 dnl These are made in gcc/c-common.c
293 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_abs)
294 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsf)
295 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabs)
296 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsl)
297 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs)
298
299 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf)
300 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrt)
301 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl)
302
303 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf)
304 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sin)
305 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinl)
306
307 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosf)
308 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cos)
309 GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosl)
310
311 dnl There is, without a doubt, a more elegant way to have these
312 dnl names exported so that they won't be stripped out of acconfig.h by
313 dnl autoheader. I leave this as an exercise to somebody less frustrated
314 dnl than I.... please email the libstdc++ list if you can figure out a
315 dnl more elegant approach (see autoconf/acgen.m4 and specifically
316 dnl AC_CHECK_FUNC for things to steal.)
317 dummyvar=no
318 if test x$dummyvar = x"yes"; then
319 AC_DEFINE(HAVE___BUILTIN_ABS)
320 AC_DEFINE(HAVE___BUILTIN_LABS)
321 AC_DEFINE(HAVE___BUILTIN_COS)
322 AC_DEFINE(HAVE___BUILTIN_COSF)
323 AC_DEFINE(HAVE___BUILTIN_COSL)
324 AC_DEFINE(HAVE___BUILTIN_FABS)
325 AC_DEFINE(HAVE___BUILTIN_FABSF)
326 AC_DEFINE(HAVE___BUILTIN_FABSL)
327 AC_DEFINE(HAVE___BUILTIN_SIN)
328 AC_DEFINE(HAVE___BUILTIN_SINF)
329 AC_DEFINE(HAVE___BUILTIN_SINL)
330 AC_DEFINE(HAVE___BUILTIN_SQRT)
331 AC_DEFINE(HAVE___BUILTIN_SQRTF)
332 AC_DEFINE(HAVE___BUILTIN_SQRTL)
333 fi
334])
335
336dnl
337dnl Check to see what the underlying c library is like
338dnl These checks need to do two things:
339dnl 1) make sure the name is declared when using the c++ compiler
340dnl 2) make sure the name has "C" linkage
341dnl This might seem like overkill but experience has shown that it's not...
342dnl
343dnl Define HAVE_STRTOLD if "strtold" is declared and links
344dnl Define HAVE_STRTOF if "strtof" is declared and links
345dnl Define HAVE_DRAND48 if "drand48" is declared and links
346dnl
347dnl GLIBCXX_CHECK_STDLIB_SUPPORT
348AC_DEFUN(GLIBCXX_CHECK_STDLIB_SUPPORT, [
349 ac_test_CXXFLAGS="${CXXFLAGS+set}"
350 ac_save_CXXFLAGS="$CXXFLAGS"
351 CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
352
353 GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold)
354 GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtof)
355 AC_CHECK_FUNCS(drand48)
356
357 CXXFLAGS="$ac_save_CXXFLAGS"
358])
359
360dnl
361dnl Check to see what the underlying c library or math library is like.
362dnl These checks need to do two things:
363dnl 1) make sure the name is declared when using the c++ compiler
364dnl 2) make sure the name has "C" linkage
365dnl This might seem like overkill but experience has shown that it's not...
366dnl
367dnl Define HAVE_CARGF etc if "cargf" is found.
368dnl
369dnl GLIBCXX_CHECK_MATH_SUPPORT
370AC_DEFUN(GLIBCXX_CHECK_MATH_SUPPORT, [
371 ac_test_CXXFLAGS="${CXXFLAGS+set}"
372 ac_save_CXXFLAGS="$CXXFLAGS"
373 CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
374
375 dnl Check libm
376 AC_CHECK_LIB(m, sin, libm="-lm")
377 ac_save_LIBS="$LIBS"
378 LIBS="$LIBS $libm"
379
380 dnl Check to see if certain C math functions exist.
381 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinf)
382 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnan)
383 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finite)
384 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(copysign)
385 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincos)
386 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass)
387 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
388 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypot)
389
390 dnl Check to see if basic C math functions have float versions.
391 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig,
392 float_trig,
393 acosf asinf atanf \
394 cosf sinf tanf \
395 coshf sinhf tanhf)
396 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float round,
397 float_round,
398 ceilf floorf)
399 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expf)
400 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
401 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
402 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2f)
403 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
404 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
405 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
406 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotf)
407 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
408 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logf)
409 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
410 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
411 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
412 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
413 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
414 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
415
416 dnl Check to see if basic C math functions have long double versions.
417 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double trig,
418 long_double_trig,
419 acosl asinl atanl \
420 cosl sinl tanl \
421 coshl sinhl tanhl)
422 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double round,
423 long_double_round,
424 ceill floorl)
425 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
426 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
427 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
428 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
429 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
430 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
431 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
432 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
433 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotl)
434 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
435 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logl)
436 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
437 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
438 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
439 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
440 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
441 GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
442
443 dnl Some runtimes have these functions with a preceding underscore. Please
444 dnl keep this sync'd with the one above. And if you add any new symbol,
445 dnl please add the corresponding block in the @BOTTOM@ section of acconfig.h.
446 dnl Check to see if certain C math functions exist.
447
448 dnl Check to see if basic C math functions have float versions.
449 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_float trig,
450 _float_trig,
451 _acosf _asinf _atanf \
452 _cosf _sinf _tanf \
453 _coshf _sinhf _tanhf)
454 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_float round,
455 _float_round,
456 _ceilf _floorf)
457
458 dnl Check to see if basic C math functions have long double versions.
459 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double trig,
460 _long_double_trig,
461 _acosl _asinl _atanl \
462 _cosl _sinl _tanl \
463 _coshl _sinhl _tanhl)
464 GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double round,
465 _long_double_round,
466 _ceill _floorl)
467
468 LIBS="$ac_save_LIBS"
469 CXXFLAGS="$ac_save_CXXFLAGS"
470])
471
472
473dnl
474dnl Check to see if there is native support for complex
475dnl
476dnl Don't compile bits in math/* if native support exits.
477dnl
478dnl Define USE_COMPLEX_LONG_DOUBLE etc if "copysignl" is found.
479dnl
480dnl GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
481AC_DEFUN(GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, [
482 dnl Check for complex versions of math functions of platform. This will
483 dnl always pass if libm is available, and fail if it isn't. If it is
484 dnl available, we assume we'll need it later, so add it to LIBS.
485 AC_CHECK_LIB(m, main)
486 AC_REPLACE_MATHFUNCS(nan copysignf)
487
488 dnl For __signbit to signbit conversions.
489 AC_CHECK_FUNCS([__signbit], , [LIBMATHOBJS="$LIBMATHOBJS signbit.lo"])
490 AC_CHECK_FUNCS([__signbitf], , [LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"])
491
492 dnl Compile the long double complex functions only if the function
493 dnl provides the non-complex long double functions that are needed.
494 dnl Currently this includes copysignl, which should be
495 dnl cached from the GLIBCXX_CHECK_MATH_SUPPORT macro, above.
496 if test x$ac_cv_func_copysignl = x"yes"; then
497 AC_CHECK_FUNCS([__signbitl], , [LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"])
498 fi
499
500 if test -n "$LIBMATHOBJS"; then
501 need_libmath=yes
502 fi
503 AC_SUBST(LIBMATHOBJS)
504])
505
506
507# Check for functions in math library.
508# Ulrich Drepper <drepper@cygnus.com>, 1998.
509#
510# This file can be copied and used freely without restrictions. It can
511# be used in projects which are not available under the GNU Public License
512# but which still want to provide support for the GNU gettext functionality.
513# Please note that the actual code is *not* freely available.
514#
515# serial 1
516#
517dnl AC_REPLACE_MATHFUNCS(FUNCTION...)
518AC_DEFUN(AC_REPLACE_MATHFUNCS,
519[AC_CHECK_FUNCS([$1], , [LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"])])
520
521dnl vim:et:ts=2
This page took 0.078016 seconds and 5 git commands to generate.