2 dnl Initialize configure bits.
4 dnl Define OPTLEVEL='-O2' if new inlining code present.
7 AC_DEFUN(GLIBCPP_CONFIGURE, [
8 dnl Default to --enable-multilib
9 AC_ARG_ENABLE(multilib,
10 [ --enable-multilib build hella library versions (default)],
11 [case "${enableval}" in
14 *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
15 esac], [multilib=yes])dnl
17 glibcpp_basedir=$auxdir/$1/libstdc++-v3
18 AC_SUBST(glibcpp_basedir)
20 AM_INIT_AUTOMAKE(libstdc++, 2.91)
22 # Never versions of autoconf add an underscore to these functions.
23 # Prevent future problems ...
24 ifdef([AC_PROG_CC_G],[],[define([AC_PROG_CC_G],defn([_AC_PROG_CC_G]))])
25 ifdef([AC_PROG_CC_GNU],[],[define([AC_PROG_CC_GNU],defn([_AC_PROG_CC_GNU]))])
26 ifdef([AC_PROG_CXX_G],[],[define([AC_PROG_CXX_G],defn([_AC_PROG_CXX_G]))])
27 ifdef([AC_PROG_CXX_GNU],[],[define([AC_PROG_CXX_GNU],defn([_AC_PROG_CXX_GNU]))])
31 # FIXME: We temporarily define our own version of AC_PROG_CC. This is
32 # copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
33 # are probably using a cross compiler, which will not be able to fully
34 # link an executable. This should really be fixed in autoconf
37 AC_DEFUN(LIB_AC_PROG_CC,
38 [AC_BEFORE([$0], [AC_PROG_CPP])dnl
39 dnl Fool anybody using AC_PROG_CC.
40 AC_PROVIDE([AC_PROG_CC])
41 AC_CHECK_PROG(CC, gcc, gcc)
42 if test -z "$CC"; then
43 AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
44 test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
49 if test $ac_cv_prog_gcc = yes; then
51 dnl Check whether -g works, even if CFLAGS is set, in case the package
52 dnl plays around with CFLAGS (such as to build both debugging and
53 dnl normal versions of a library), tasteless as that idea is.
54 ac_test_CFLAGS="${CFLAGS+set}"
55 ac_save_CFLAGS="$CFLAGS"
58 if test "$ac_test_CFLAGS" = set; then
59 CFLAGS="$ac_save_CFLAGS"
60 elif test $ac_cv_prog_cc_g = yes; then
67 test "${CFLAGS+set}" = set || CFLAGS="-g"
73 # Can't just call these here as g++ requires libstc++ to be built....
76 # Likewise for AC_PROG_CXX.
77 AC_DEFUN(LIB_AC_PROG_CXX,
78 [AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
79 dnl Fool anybody using AC_PROG_CXX.
80 AC_PROVIDE([AC_PROG_CXX])
81 # Use glibcpp_CXX so that we do not cause CXX to be cached with the
82 # flags that come in CXX while configuring libstdc++. They're different
83 # from those used for all other target libraries. If CXX is set in
84 # the environment, respect that here.
86 AC_CHECK_PROGS(glibcpp_CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
88 test -z "$glibcpp_CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
92 if test $ac_cv_prog_gxx = yes; then
94 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
95 dnl plays around with CXXFLAGS (such as to build both debugging and
96 dnl normal versions of a library), tasteless as that idea is.
97 ac_test_CXXFLAGS="${CXXFLAGS+set}"
98 ac_save_CXXFLAGS="$CXXFLAGS"
101 if test "$ac_test_CXXFLAGS" = set; then
102 CXXFLAGS="$ac_save_CXXFLAGS"
103 elif test $ac_cv_prog_cxx_g = yes; then
110 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
116 AC_CHECK_TOOL(AS, as)
117 AC_CHECK_TOOL(AR, ar)
118 AC_CHECK_TOOL(RANLIB, ranlib, ranlib-not-found-in-path-error)
119 AC_CHECK_TOOL(glibcpp_expect, expect, expect-not-found-in-path-error)
120 AC_CHECK_TOOL(glibcpp_runtest, runtest, runtest-not-found-in-path-error)
121 AC_SUBST(glibcpp_expect)
122 AC_SUBST(glibcpp_runtest)
127 # We need AC_EXEEXT to keep automake happy in cygnus mode. However,
128 # at least currently, we never actually build a program, so we never
129 # need to use $(EXEEXT). Moreover, the test for EXEEXT normally
130 # fails, because we are probably configuring with a cross compiler
131 # which cant create executables. So we include AC_EXEEXT to keep
132 # automake happy, but we dont execute it, since we dont care about
138 . [$]{glibcpp_basedir}/configure.host
140 case [$]{glibcpp_basedir} in
141 /* | [A-Za-z]:[\\/]*) libgcj_flagbasedir=[$]{glibcpp_basedir} ;;
142 *) glibcpp_flagbasedir='[$](top_builddir)/'[$]{glibcpp_basedir} ;;
145 # This does for the target what configure.host does for the host. In
146 # addition to possibly modifying the same flags, it also sets up symlinks.
152 dnl Check to see if g++ can compile this library, and if so, if any version-
153 dnl specific precautions need to be taken.
155 dnl GLIBCPP_CHECK_COMPILER_VERSION
156 AC_DEFUN(GLIBCPP_CHECK_COMPILER_VERSION, [
157 if test ! -f stamp-sanity-compiler; then
158 AC_MSG_CHECKING([for g++ that will successfully compile libstdc++-v3])
165 ], gpp_satisfactory=yes, AC_MSG_ERROR([please upgrade to GCC 3.0 or above]))
167 AC_MSG_RESULT($gpp_satisfactory)
168 touch stamp-sanity-compiler
174 dnl Test for newer compiler features, or features that are present in newer
175 dnl compiler version but not older compiler versions should be placed
178 dnl Define WERROR='-Werror' if requested and possible; g++'s that lack the
179 dnl new inlining code or the new system_header pragma will die on -Werror.
180 dnl Leave it out by default and use maint-mode to use it.
182 dnl Define SECTION_FLAGS='-ffunction-sections -fdata-sections' if
183 dnl compiler supports it and the user has not requested debug mode.
185 dnl GLIBCPP_CHECK_COMPILER_FEATURES
186 AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [
187 # All these tests are for C++; save the language and the compiler flags.
188 # The CXXFLAGS thing is suspicious, but based on similar bits
189 # found in GLIBCPP_CONFIGURE.
192 ac_test_CXXFLAGS="${CXXFLAGS+set}"
193 ac_save_CXXFLAGS="$CXXFLAGS"
195 # Check for maintainer-mode bits.
196 if test x"$USE_MAINTAINER_MODE" = xno; then
202 # Check for -ffunction-sections -fdata-sections
203 AC_MSG_CHECKING([for g++ that supports -ffunction-sections -fdata-sections])
204 CXXFLAGS='-Werror -ffunction-sections -fdata-sections'
205 AC_TRY_COMPILE(, [int foo;
206 ], [ac_fdsections=yes], [ac_fdsections=no])
207 if test "$ac_test_CXXFLAGS" = set; then
208 CXXFLAGS="$ac_save_CXXFLAGS"
210 # this is the suspicious part
213 if test x"$ac_fdsections" = x"yes" && test x"$enable_debug" = x"no"; then
214 SECTION_FLAGS='-ffunction-sections -fdata-sections'
216 AC_MSG_RESULT($ac_fdsections)
220 AC_SUBST(SECTION_FLAGS)
225 dnl If GNU ld is in use, check to see if tricky linker opts can be used. If
226 dnl the native linker is in use, all variables will be defined to something
227 dnl safe (like an empty string).
229 dnl Define SECTION_LDFLAGS='-Wl,--gc-sections' if possible.
230 dnl Define OPT_LDFLAGS='-Wl,-O1' if possible.
232 dnl GLIBCPP_CHECK_LINKER_FEATURES
233 AC_DEFUN(GLIBCPP_CHECK_LINKER_FEATURES, [
234 # If we're not using GNU ld, then there's no point in even trying these
235 # tests. Check for that first. We should have already tested for gld
236 # by now (in libtool), but require it now just to be safe...
239 AC_REQUIRE([AC_PROG_LD])
242 if test "$ac_cv_prog_gnu_ld" = "notbroken"; then
243 # GNU ld it is! Joy and bunny rabbits!
245 # All these tests are for C++; save the language and the compiler flags.
246 # Need to do this so that g++ won't try to link in libstdc++
247 ac_test_CFLAGS="${CFLAGS+set}"
248 ac_save_CFLAGS="$CFLAGS"
249 CFLAGS='-x c++ -Wl,--gc-sections'
251 # Check for -Wl,--gc-sections
252 # XXX This test is broken at the moment, as symbols required for
253 # linking are now in libsupc++ (not built yet.....). In addition,
254 # this test has cored on solaris in the past. In addition,
255 # --gc-sections doesn't really work at the moment (keeps on discarding
256 # used sections, first .eh_frame and now some of the glibc sections for
257 # iconv). Bzzzzt. Thanks for playing, maybe next time.
258 AC_MSG_CHECKING([for ld that supports -Wl,--gc-sections])
266 ], [ac_sectionLDflags=yes],[ac_sectionLFflags=no], [ac_sectionLDflags=yes])
267 if test "$ac_test_CFLAGS" = set; then
268 CFLAGS="$ac_save_CFLAGS"
270 # this is the suspicious part
273 if test "$ac_sectionLDflags" = "yes"; then
274 SECTION_LDFLAGS='-Wl,--gc-sections'
276 AC_MSG_RESULT($ac_sectionLDflags)
279 # Set linker optimization flags.
280 if test x"$ac_cv_prog_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
281 OPT_LDFLAGS='-Wl,-O1'
284 AC_SUBST(SECTION_LDFLAGS)
285 AC_SUBST(OPT_LDFLAGS)
290 dnl Check to see if the (math function) argument passed is
291 dnl declared when using the c++ compiler
292 dnl ASSUMES argument is a math function with ONE parameter
294 dnl GLIBCPP_CHECK_MATH_DECL_1
295 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_1, [
296 AC_MSG_CHECKING([for $1 declaration])
297 if test x${glibcpp_cv_func_$1_use+set} != xset; then
298 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
301 AC_TRY_COMPILE([#include <math.h>
307 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
311 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
315 dnl Check to see if the (math function) argument passed is
316 dnl 1) declared when using the c++ compiler
317 dnl 2) has "C" linkage
318 dnl 3) if not, see if 1) and 2) for argument prepended with '_'
320 dnl Define HAVE_CARGF etc if "cargf" is declared and links
322 dnl argument 1 is name of function to check
324 dnl ASSUMES argument is a math function with ONE parameter
326 dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1
327 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, [
328 GLIBCPP_CHECK_MATH_DECL_1($1)
329 if test x$glibcpp_cv_func_$1_use = x"yes"; then
332 GLIBCPP_CHECK_MATH_DECL_1(_$1)
333 if test x$glibcpp_cv_func__$1_use = x"yes"; then
341 dnl Like GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of
342 dnl of functions at once. It's an all-or-nothing check -- either
343 dnl HAVE_XYZ is defined for each of the functions, or for none of them.
344 dnl Doing it this way saves significant configure time.
345 AC_DEFUN(GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1, [
346 AC_MSG_CHECKING([for $1 functions])
347 AC_CACHE_VAL(glibcpp_cv_func_$2_use, [
350 AC_TRY_COMPILE([#include <math.h>],
351 [ `for x in $3; do echo "$x (0);"; done` ],
352 [glibcpp_cv_func_$2_use=yes],
353 [glibcpp_cv_func_$2_use=no])
355 AC_MSG_RESULT($glibcpp_cv_func_$2_use)
356 if test x$glibcpp_cv_func_$2_use = x"yes"; then
362 dnl Check to see if the (math function) argument passed is
363 dnl declared when using the c++ compiler
364 dnl ASSUMES argument is a math function with ONE parameter
366 dnl GLIBCPP_CHECK_MATH_DECL_2
367 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_2, [
368 AC_MSG_CHECKING([for $1 declaration])
369 if test x${glibcpp_cv_func_$1_use+set} != xset; then
370 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
373 AC_TRY_COMPILE([#include <math.h>],
375 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
379 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
383 dnl Check to see if the (math function) argument passed is
384 dnl 1) declared when using the c++ compiler
385 dnl 2) has "C" linkage
387 dnl Define HAVE_CARGF etc if "cargf" is declared and links
389 dnl argument 1 is name of function to check
391 dnl ASSUMES argument is a math function with TWO parameters
393 dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2
394 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2, [
395 GLIBCPP_CHECK_MATH_DECL_2($1)
396 if test x$glibcpp_cv_func_$1_use = x"yes"; then
399 GLIBCPP_CHECK_MATH_DECL_2(_$1)
400 if test x$glibcpp_cv_func__$1_use = x"yes"; then
408 dnl Check to see if the (math function) argument passed is
409 dnl declared when using the c++ compiler
410 dnl ASSUMES argument is a math function with ONE parameter
412 dnl GLIBCPP_CHECK_MATH_DECL_3
413 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_3, [
414 AC_MSG_CHECKING([for $1 declaration])
415 if test x${glibcpp_cv_func_$1_use+set} != xset; then
416 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
419 AC_TRY_COMPILE([#include <math.h>],
421 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
425 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
429 dnl Check to see if the (math function) argument passed is
430 dnl 1) declared when using the c++ compiler
431 dnl 2) has "C" linkage
433 dnl Define HAVE_CARGF etc if "cargf" is declared and links
435 dnl argument 1 is name of function to check
437 dnl ASSUMES argument is a math function with THREE parameters
439 dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3
440 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3, [
441 GLIBCPP_CHECK_MATH_DECL_3($1)
442 if test x$glibcpp_cv_func_$1_use = x"yes"; then
445 GLIBCPP_CHECK_MATH_DECL_3(_$1)
446 if test x$glibcpp_cv_func__$1_use = x"yes"; then
454 dnl Check to see if the (stdlib function) argument passed is
455 dnl 1) declared when using the c++ compiler
456 dnl 2) has "C" linkage
458 dnl argument 1 is name of function to check
460 dnl ASSUMES argument is a math function with TWO parameters
462 dnl GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2
463 AC_DEFUN(GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2, [
464 AC_MSG_CHECKING([for $1 declaration])
465 if test x${glibcpp_cv_func_$1_use+set} != xset; then
466 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
469 AC_TRY_COMPILE([#include <stdlib.h>],
471 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
475 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
476 if test x$glibcpp_cv_func_$1_use = x"yes"; then
483 dnl Because the builtins are picky picky picky about the arguments they take,
484 dnl do an explict linkage tests here.
485 dnl Check to see if the (math function) argument passed is
486 dnl 1) declared when using the c++ compiler
487 dnl 2) has "C" linkage
489 dnl Define HAVE_CARGF etc if "cargf" is declared and links
491 dnl argument 1 is name of function to check
493 dnl ASSUMES argument is a math function with ONE parameter
495 dnl GLIBCPP_CHECK_BUILTIN_MATH_DECL_LINKAGE_1
496 AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1, [
497 AC_MSG_CHECKING([for $1 declaration])
498 if test x${glibcpp_cv_func_$1_use+set} != xset; then
499 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
502 AC_TRY_COMPILE([#include <math.h>],
504 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
508 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
509 if test x$glibcpp_cv_func_$1_use = x"yes"; then
510 AC_MSG_CHECKING([for $1 linkage])
511 if test x${glibcpp_cv_func_$1_link+set} != xset; then
512 AC_CACHE_VAL(glibcpp_cv_func_$1_link, [
513 AC_TRY_LINK([#include <math.h>],
515 [glibcpp_cv_func_$1_link=yes], [glibcpp_cv_func_$1_link=no])
518 AC_MSG_RESULT($glibcpp_cv_func_$1_link)
519 if test x$glibcpp_cv_func_$1_link = x"yes"; then
520 ac_tr_func=HAVE_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
521 AC_DEFINE_UNQUOTED(${ac_tr_func})
528 dnl Check to see what builtin math functions are supported
530 dnl check for __builtin_abs
531 dnl check for __builtin_fabsf
532 dnl check for __builtin_fabs
533 dnl check for __builtin_fabl
534 dnl check for __builtin_labs
535 dnl check for __builtin_sqrtf
536 dnl check for __builtin_sqrtl
537 dnl check for __builtin_fsqrt
538 dnl check for __builtin_sinf
539 dnl check for __builtin_sin
540 dnl check for __builtin_sinl
541 dnl check for __builtin_cosf
542 dnl check for __builtin_cos
543 dnl check for __builtin_cosl
545 dnl GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT
546 AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
547 dnl Test for builtin math functions.
548 dnl These are made in gcc/c-common.c
549 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_abs)
550 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsf)
551 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabs)
552 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsl)
553 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs)
555 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf)
556 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fsqrt)
557 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl)
559 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf)
560 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sin)
561 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinl)
563 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosf)
564 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cos)
565 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosl)
567 dnl There is, without a doubt, a more elegant way to have these
568 dnl names exported so that they won't be stripped out of acconfig.h by
569 dnl autoheader. I leave this as an exercise to somebody less frustrated
570 dnl than I.... please email the libstdc++ list if you can figure out a
571 dnl more elegant approach (see autoconf/acgen.m4 and specifically
572 dnl AC_CHECK_FUNC for things to steal.)
574 if test x$dummyvar = x"yes"; then
575 AC_DEFINE(HAVE___BUILTIN_ABS)
576 AC_DEFINE(HAVE___BUILTIN_LABS)
577 AC_DEFINE(HAVE___BUILTIN_COS)
578 AC_DEFINE(HAVE___BUILTIN_COSF)
579 AC_DEFINE(HAVE___BUILTIN_COSL)
580 AC_DEFINE(HAVE___BUILTIN_FABS)
581 AC_DEFINE(HAVE___BUILTIN_FABSF)
582 AC_DEFINE(HAVE___BUILTIN_FABSL)
583 AC_DEFINE(HAVE___BUILTIN_SIN)
584 AC_DEFINE(HAVE___BUILTIN_SINF)
585 AC_DEFINE(HAVE___BUILTIN_SINL)
586 AC_DEFINE(HAVE___BUILTIN_FSQRT)
587 AC_DEFINE(HAVE___BUILTIN_SQRTF)
588 AC_DEFINE(HAVE___BUILTIN_SQRTL)
594 dnl Check to see what the underlying c library
595 dnl These checks need to do two things:
596 dnl 1) make sure the name is declared when using the c++ compiler
597 dnl 2) make sure the name has "C" linkage
598 dnl This might seem like overkill but experience has shown that it's not...
600 dnl Define HAVE_STRTOLD if "strtold" is declared and links
601 dnl Define HAVE_STRTOF if "strtof" is declared and links
602 dnl Define HAVE_DRAND48 if "drand48" is declared and links
604 dnl GLIBCPP_CHECK_STDLIB_SUPPORT
605 AC_DEFUN(GLIBCPP_CHECK_STDLIB_SUPPORT, [
606 ac_test_CXXFLAGS="${CXXFLAGS+set}"
607 ac_save_CXXFLAGS="$CXXFLAGS"
608 CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
610 AC_CHECK_FUNCS(strtof)
611 GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold)
612 AC_CHECK_FUNCS(drand48)
614 CXXFLAGS="$ac_save_CXXFLAGS"
619 dnl Check to see what the underlying c library or math library is like.
620 dnl These checks need to do two things:
621 dnl 1) make sure the name is declared when using the c++ compiler
622 dnl 2) make sure the name has "C" linkage
623 dnl This might seem like overkill but experience has shown that it's not...
625 dnl Define HAVE_CARGF etc if "cargf" is found.
627 dnl GLIBCPP_CHECK_MATH_SUPPORT
628 AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
629 ac_test_CXXFLAGS="${CXXFLAGS+set}"
630 ac_save_CXXFLAGS="$CXXFLAGS"
631 CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
634 AC_CHECK_LIB(m, sin, libm="-lm")
638 dnl Check to see if certain C math functions exist.
639 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinf)
640 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnan)
641 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finite)
642 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysign)
643 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincos)
644 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass)
645 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
647 dnl Check to see if basic C math functions have float versions.
648 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig,
653 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float round,
656 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
657 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
658 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
659 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
660 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
661 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
662 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logf)
663 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
664 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
665 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
666 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
667 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
668 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
670 dnl Check to see if basic C math functions have long double versions.
671 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(long double trig,
676 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(long double round,
679 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
680 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
681 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
682 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
683 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
684 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
685 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
686 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
687 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
688 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logl)
689 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
690 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
691 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
692 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
693 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
694 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
696 dnl Some runtimes have these functions with a preceding underscore. Please
697 dnl keep this sync'd with the one above. And if you add any new symbol,
698 dnl please add the corresponding block in the @BOTTOM@ section of acconfig.h.
699 dnl Check to see if certain C math functions exist.
701 dnl Check to see if basic C math functions have float versions.
702 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_float trig,
704 _acosf _asinf _atanf \
706 _coshf _sinhf _tanhf)
707 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_float round,
711 dnl Check to see if basic C math functions have long double versions.
712 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double trig,
714 _acosl _asinl _atanl \
716 _coshl _sinhl _tanhl)
717 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double round,
722 CXXFLAGS="$ac_save_CXXFLAGS"
727 dnl Check to see if there is native support for complex
729 dnl Don't compile bits in math/* if native support exits.
731 dnl Define USE_COMPLEX_LONG_DOUBLE etc if "atan2l/copysignl" is found.
733 dnl GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
734 AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [
735 dnl Check for complex versions of math functions of platform.
736 AC_CHECK_LIB(m, main)
737 AC_REPLACE_MATHFUNCS(nan hypot hypotf atan2f expf copysignf)
739 dnl Compile the long double complex functions only if the function
740 dnl provides the non-complex long double functions that are needed.
741 dnl Currently this includes copysignl and atan2l, which should be
742 dnl cached from the GLIBCPP_CHECK_MATH_SUPPORT macro, above.
743 USE_COMPLEX_LONG_DOUBLE=no
744 if test x$ac_cv_func_atan2l = x"yes" \
745 && test x$ac_cv_func_copysignl = x"yes"; then
746 USE_COMPLEX_LONG_DOUBLE=yes
747 AC_REPLACE_MATHFUNCS(hypotl signbitl)
750 AC_SUBST(USE_COMPLEX_LONG_DOUBLE)
754 dnl Check to see what architecture and operating system we are compiling
755 dnl for. Also, if architecture- or OS-specific flags are required for
756 dnl compilation, pick them up here.
758 dnl GLIBCPP_CHECK_TARGET
759 AC_DEFUN(GLIBCPP_CHECK_TARGET, [
760 . [$]{glibcpp_basedir}/configure.target
761 AC_MSG_RESULT(CPU config directory is $cpu_include_dir)
762 AC_MSG_RESULT(OS config directory is $os_include_dir)
763 AC_LINK_FILES($os_include_dir/bits/os_defines.h, include/bits/os_defines.h)
768 dnl Check to see if this target can enable the wchar_t parts of libstdc++.
769 dnl If --disable-c-mbchar was given, no wchar_t stuff is enabled. (This
770 dnl must have been previously checked.)
772 dnl Define _GLIBCPP_USE_WCHAR_T if all the bits are found
773 dnl Define HAVE_MBSTATE_T if mbstate_t is not in wchar.h
775 dnl GLIBCPP_CHECK_WCHAR_T_SUPPORT
776 AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
778 dnl Test wchar.h for mbstate_t, which is needed for char_traits and
779 dnl others even if wchar_t support is not on.
780 AC_MSG_CHECKING([for mbstate_t])
781 AC_TRY_COMPILE([#include <wchar.h>],
782 [mbstate_t teststate;],
783 have_mbstate_t=yes, have_mbstate_t=no)
784 AC_MSG_RESULT($have_mbstate_t)
785 if test x"$have_mbstate_t" = xyes; then
786 AC_DEFINE(HAVE_MBSTATE_T)
789 dnl Sanity check for existence of ISO C99 headers for extended encoding.
790 AC_CHECK_HEADERS(wchar.h, ac_has_wchar_h=yes, ac_has_wchar_h=no)
791 AC_CHECK_HEADER(wctype.h, ac_has_wctype_h=yes, ac_has_wctype_h=no)
793 dnl Only continue checking if the ISO C99 headers exist and support is on.
794 if test x"$ac_has_wchar_h" = xyes && test x"$ac_has_wctype_h" = xyes \
795 && test x"$enable_c_mbchar" != xno; then
797 dnl Test wchar.h for WCHAR_MIN, WCHAR_MAX, which is needed before
798 dnl numeric_limits can instantiate type_traits<wchar_t>
799 AC_MSG_CHECKING([for WCHAR_MIN and WCHAR_MAX])
800 AC_TRY_COMPILE([#include <wchar.h>],
801 [int i = WCHAR_MIN; int j = WCHAR_MAX;],
802 has_wchar_minmax=yes, has_wchar_minmax=no)
803 AC_MSG_RESULT($has_wchar_minmax)
805 dnl Test wchar.h for WEOF, which is what we use to determine whether
806 dnl to specialize for char_traits<wchar_t> or not.
807 AC_MSG_CHECKING([for WEOF])
810 #include <stddef.h>],
812 has_weof=yes, has_weof=no)
813 AC_MSG_RESULT($has_weof)
815 dnl Tests for wide character functions used in char_traits<wchar_t>.
816 AC_CHECK_FUNCS(wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset \
817 wcsrtombs mbsrtowcs, ac_wfuncs=yes, ac_wfuncs=no)
819 AC_MSG_CHECKING([for ISO C99 wchar_t support])
820 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \
821 && test x"$ac_wfuncs" = xyes; then
822 ac_isoC99_wchar_t=yes
826 AC_MSG_RESULT($ac_isoC99_wchar_t)
828 dnl Use iconv for wchar_t to char conversions. As such, check for
829 dnl X/Open Portability Guide, version 2 features (XPG2).
830 AC_CHECK_HEADER(iconv.h, ac_has_iconv_h=yes, ac_has_iconv_h=no)
831 AC_CHECK_HEADER(langinfo.h, ac_has_langinfo_h=yes, ac_has_langinfo_h=no)
833 dnl Check for existence of libiconv.a providing XPG2 wchar_t support.
834 AC_CHECK_LIB(iconv, iconv, libiconv="-liconv")
836 LIBS="$LIBS $libiconv"
838 AC_CHECK_FUNCS(iconv_open iconv_close iconv nl_langinfo, \
839 ac_XPG2funcs=yes, ac_XPG2funcs=no)
843 AC_MSG_CHECKING([for XPG2 wchar_t support])
844 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \
845 && test x"$ac_XPG2funcs" = xyes; then
850 AC_MSG_RESULT($ac_XPG2_wchar_t)
852 dnl At the moment, only enable wchar_t specializations if all the
853 dnl above support is present.
854 AC_MSG_CHECKING([for enabled wchar_t specializations])
855 if test x"$ac_isoC99_wchar_t" = xyes \
856 && test x"$ac_XPG2_wchar_t" = xyes; then
857 AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
863 dnl Wide characters disabled by the user.
864 AC_MSG_WARN([wchar_t support disabled.])
870 dnl Check to see if this version of GNU C++ is afflicted by bugs in
871 dnl __complex__ float support.
873 dnl Define _GLIBCPP_BUGGY_FLOAT_COMPLEX if buggy.
875 dnl Check to see if this version of GNU C++ is afflicted by bugs in
876 dnl __complex__ support.Check for buggy __complex__ that will cause ICE in
877 dnl gcc-2.95.x when using the library, unless we define the default copy
878 dnl ctor in the specializations of complex<>.
880 dnl Define _GLIBCPP_BUGGY_COMPLEX if buggy.
881 dnl GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT
882 AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT, [
883 AC_REQUIRE([AC_PROG_CXX])
885 AC_MSG_CHECKING([for GNU C++ __complex__ support])
886 AC_CACHE_VAL(glibcpp_cv_complex, [
889 AC_TRY_COMPILE([struct dcomplex { __complex__ double x; }; \
890 dcomplex f(const dcomplex& x) { return dcomplex(x); }], \
891 [ dcomplex x; f(x); ],
892 glibcpp_cv_complex=ok,
893 glibcpp_cv_complex=buggy
897 AC_MSG_RESULT($glibcpp_cv_complex)
898 if test $glibcpp_cv_complex = buggy; then
899 AC_DEFINE(_GLIBCPP_BUGGY_COMPLEX)
902 AC_MSG_CHECKING([for GNU C++ __complex__ float support])
903 AC_CACHE_VAL(glibcpp_cv_float_complex, [
907 cat > conftest.h <<EOB
909 // Check for buggy __complex__ that causes ICE in most versions of egcs
910 // and gcc-2.95.x on certain platforms (eg., x86-win32).
912 // See http://gcc.gnu.org/ml/gcc-bugs/1999-07n/msg00845.html for
913 // more info on the bug itself.
918 __complex__ float m_value;
919 float_complex (float = 0.0f, float = 0.0f);
920 float_complex (__complex__ float val) : m_value (val) {}
921 float_complex foo (const float_complex &val)
922 { return float_complex (~val.m_value); }
925 AC_TRY_COMPILE([#include "conftest.h"], ,
926 glibcpp_cv_float_complex=ok,
927 glibcpp_cv_float_complex=buggy
931 AC_MSG_RESULT($glibcpp_cv_float_complex)
932 if test $glibcpp_cv_float_complex = buggy; then
933 AC_DEFINE(_GLIBCPP_BUGGY_FLOAT_COMPLEX)
939 dnl Check for special debugging mode; not for production use.
941 dnl GLIBCPP_ENABLE_DEBUG
942 dnl --enable-debug sets '-ggdb3 -O0'.
943 dnl --disable-debug sets '-g' and whatever optimization options the
944 dnl compiler can handle.
945 dnl + --enable-maintainer-mode automatically defaults this to on.
946 dnl + Perhaps -D/-U of NDEBUG, DEBUG, DEBUG_ASSERT, ...?
947 dnl + Usage: GLIBCPP_ENABLE_DEBUG[(DEFAULT)]
948 dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
949 dnl defaults to `no'.
950 AC_DEFUN(GLIBCPP_ENABLE_DEBUG, [dnl
951 define([GLIBCPP_ENABLE_DEBUG_DEFAULT], ifelse($1, yes, yes, no))dnl
953 changequote(<<, >>)dnl
954 << --enable-debug extra debugging, turn off optimization [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT],
956 [case "${enableval}" in
957 yes) enable_debug=yes ;;
958 no) enable_debug=no ;;
959 *) AC_MSG_ERROR([Unknown argument to enable/disable extra debugging]) ;;
961 enable_debug=GLIBCPP_ENABLE_DEBUG_DEFAULT)dnl
963 dnl Option parsed, now set things appropriately
964 case "${enable_debug}" in
966 DEBUG_FLAGS='-O0 -ggdb3'
972 AC_SUBST(DEBUG_FLAGS)
977 dnl Check for "unusual" flags to pass to the compiler while building.
979 dnl GLIBCPP_ENABLE_CXX_FLAGS
980 dnl --enable-cxx-flags='-foo -bar -baz' is a general method for passing
981 dnl experimental flags such as -fhonor-std, -fsquangle, -Dfloat=char, etc.
982 dnl Somehow this same set of flags must be passed when [re]building
984 dnl --disable-cxx-flags passes nothing.
985 dnl + See http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00131.html
986 dnl http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00284.html
987 dnl http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00035.html
988 dnl + Usage: GLIBCPP_ENABLE_CXX_FLAGS(default flags)
989 dnl If "default flags" is an empty string (or "none"), the effect is
990 dnl the same as --disable or --enable=no.
991 AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl
992 define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
993 AC_ARG_ENABLE(cxx-flags,
994 changequote(<<, >>)dnl
995 << --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
996 [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
998 [case "x$enableval" in
1000 AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
1002 enable_cxx_flags='' ;;
1004 enable_cxx_flags="$enableval" ;;
1006 enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT')
1008 dnl Thinko on my part during design. This kludge is the workaround.
1009 if test "$enable_cxx_flags" = "none"; then
1010 enable_cxx_flags='';
1013 dnl Run through flags (either default or command-line) and set anything
1014 dnl extra (e.g., #defines) that must accompany particular g++ options.
1015 if test -n "$enable_cxx_flags"; then
1016 for f in $enable_cxx_flags; do
1020 *) # and we're trying to pass /what/ exactly?
1021 AC_MSG_ERROR([compiler flags start with a -]) ;;
1025 EXTRA_CXX_FLAGS="$enable_cxx_flags"
1026 AC_SUBST(EXTRA_CXX_FLAGS)
1031 dnl Check for which locale library to use: gnu or generic.
1033 dnl GLIBCPP_ENABLE_CLOCALE
1034 dnl --enable-clocale=gnu sets config/c_locale_gnu.cc and friends
1035 dnl --enable-clocale=generic sets config/c_locale_generic.cc and friends
1037 dnl default is generic
1039 AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
1040 AC_MSG_CHECKING([for clocale to use])
1041 AC_ARG_ENABLE(clocale,
1042 [ --enable-clocale enable model for target locale package.
1043 --enable-clocale=MODEL use MODEL target-speific locale package. [default=generic]
1045 if test x$enable_clocale = xno; then
1046 enable_clocale=generic
1048 enable_clocale=generic)
1050 enable_clocale_flag=$enable_clocale
1052 dnl Check if a valid locale package
1053 case x${enable_clocale_flag} in
1055 CLOCALE_H=config/c_locale_gnu.h
1056 CLOCALE_CC=config/c_locale_gnu.cc
1060 CLOCALE_H=config/c_locale_generic.h
1061 CLOCALE_CC=config/c_locale_generic.cc
1062 AC_MSG_RESULT(generic)
1065 echo "$enable_clocale is an unknown locale package" 1>&2
1070 AC_LINK_FILES($CLOCALE_H, include/bits/c++locale.h)
1071 AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
1076 dnl Check for which I/O library to use: libio, or something specific.
1078 dnl GLIBCPP_ENABLE_CSTDIO
1079 dnl --enable-cstdio=libio sets config/c_io_libio.h and friends
1081 dnl default is stdio
1083 AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [
1084 AC_MSG_CHECKING([for cstdio to use])
1085 AC_ARG_ENABLE(cstdio,
1086 [ --enable-cstdio enable stdio for target io package.
1087 --enable-cstdio=LIB use LIB target-speific io package. [default=stdio]
1089 if test x$enable_cstdio = xno; then
1092 enable_cstdio=stdio)
1094 enable_cstdio_flag=$enable_cstdio
1096 dnl Check if a valid I/O package
1097 case x${enable_cstdio_flag} in
1099 CSTDIO_H=config/c_io_libio.h
1100 BASIC_FILE_H=config/basic_file_libio.h
1101 BASIC_FILE_CC=config/basic_file_libio.cc
1102 AC_MSG_RESULT(libio)
1104 # see if we are on a system with libio native (ie, linux)
1105 AC_CHECK_HEADER(libio.h, has_libio=yes, has_libio=no)
1107 # Need to check and see what version of glibc is being used. If
1108 # it's not glibc-2.2 or higher, then we'll need to go ahead and
1109 # compile most of libio for linux systems.
1110 if test x$has_libio = x"yes"; then
1113 AC_MSG_CHECKING([for glibc version >= 2.2])
1114 AC_EGREP_CPP([ok], [
1115 #include <features.h>
1116 #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
1119 ], glibc_satisfactory=yes, glibc_satisfactory=no)
1120 AC_MSG_RESULT($glibc_satisfactory)
1124 # XXX at the moment, admit defeat and force the recompilation
1125 # XXX of glibc even on glibc-2.2 systems, because libio is not synched.
1126 glibc_satisfactory=no
1128 if test x$glibc_satisfactory = x"yes"; then
1133 # bkoz XXX need to add checks to enable this
1134 # pme XXX here's a first pass at such a check
1135 if test x$enable_c_mbchar != xno; then
1143 # Using libio, but <libio.h> doesn't exist on the target system. . .
1145 # bkoz XXX need to add checks to enable this
1146 # pme XXX here's a first pass at such a check
1147 if test x$enable_c_mbchar != xno; then
1154 xstdio | x | xno | xnone | xyes)
1156 CSTDIO_H=config/c_io_stdio.h
1157 BASIC_FILE_H=config/basic_file_stdio.h
1158 BASIC_FILE_CC=config/basic_file_stdio.cc
1159 AC_MSG_RESULT(stdio)
1161 # We're not using stdio.
1166 echo "$enable_cstdio is an unknown io package" 1>&2
1170 AC_LINK_FILES($CSTDIO_H, include/bits/c++io.h)
1171 AC_LINK_FILES($BASIC_FILE_H, include/bits/basic_file_model.h)
1172 AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc)
1174 # 2000-08-04 bkoz hack
1175 CCODECVT_C=config/c_io_libio_codecvt.c
1176 AC_LINK_FILES($CCODECVT_C, libio/c_codecvt.c)
1177 # 2000-08-04 bkoz hack
1179 AM_CONDITIONAL(GLIBCPP_BUILD_LIBIO,
1180 test "$need_libio" = yes || test "$need_wlibio" = yes)
1181 AM_CONDITIONAL(GLIBCPP_NEED_LIBIO, test "$need_libio" = yes)
1182 AM_CONDITIONAL(GLIBCPP_NEED_WLIBIO, test "$need_wlibio" = yes)
1183 if test "$need_libio" = yes || test "$need_wlibio" = yes; then
1184 libio_la=../libio/libio.la
1193 dnl Check for which threading library to use.
1195 dnl GLIBCPP_ENABLE_THREADS
1196 dnl --enable-threads=posix sets config/threads-posix.h et. al.
1198 dnl Default is no threads, which also disables _IO_MTSAFE_IO in
1199 dnl libio. Any actual thread package will enable it.
1201 AC_DEFUN(GLIBCPP_ENABLE_THREADS, [
1202 dnl Note this comes from the gcc/config.in and libjava/config.in
1203 dnl Efforts should be made to keep this in sync.
1204 AC_MSG_CHECKING([for threads package to use])
1205 AC_ARG_ENABLE(threads,
1206 [ --enable-threads enable thread usage for target GCC.
1207 --enable-threads=LIB use LIB thread package for target GCC. [default=no]
1209 if test x$enable_threads = xno; then
1214 enable_threads_flag=$enable_threads
1216 dnl Check if a valid thread package
1217 case x${enable_threads_flag} in
1220 target_thread_file='single'
1224 target_thread_file='posix'
1226 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
1227 xsolaris | xwin32 | xdce | xvxworks)
1228 target_thread_file=$enable_threads_flag
1231 echo "$enable_threads is an unknown thread package" 1>&2
1236 dnl Check for thread package actually supported in libstdc++
1238 case "$target_thread_file" in
1240 THREADH=threads-no.h
1243 THREADH=threads-posix.h
1245 decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
1246 AC_MSG_ERROR(thread package $THREADS not yet supported)
1249 AC_MSG_ERROR($THREADS is an unsupported/unknown thread package)
1252 AC_MSG_RESULT($THREADH)
1254 AC_LINK_FILES(config/$THREADH, include/bits/c++threads.h)
1255 if test $THREADH != threads-no.h; then
1256 AC_DEFINE(_GLIBCPP_USE_THREADS)
1262 dnl Check for exception handling support. If an explicit enable/disable
1263 dnl sjlj exceptions is given, we don't have to detect. Otherwise the
1264 dnl target may or may not support call frame exceptions.
1266 dnl GLIBCPP_ENABLE_SJLJ_EXCEPTIONS
1267 dnl --enable-sjlj-exceptions forces the use of builtin setjmp.
1268 dnl --disable-sjlj-exceptions forces the use of call frame unwinding.
1270 dnl Define _GLIBCPP_SJLJ_EXCEPTIONS if the compiler is configured for it.
1272 AC_DEFUN(GLIBCPP_ENABLE_SJLJ_EXCEPTIONS, [
1273 AC_MSG_CHECKING([for exception model to use])
1276 AC_ARG_ENABLE(sjlj-exceptions,
1277 [ --enable-sjlj-exceptions force use of builtin_setjmp for exceptions],
1279 [dnl Botheration. Now we've got to detect the exception model.
1280 dnl Link tests against libgcc.a are problematic since -- at least
1281 dnl as of this writing -- we've not been given proper -L bits for
1282 dnl single-tree newlib and libgloss.
1284 dnl This is what AC_TRY_COMPILE would do if it didn't delete the
1285 dnl conftest files before we got a change to grep them first.
1286 cat > conftest.$ac_ext << EOF
1287 [#]line __oline__ "configure"
1296 old_CXXFLAGS="$CXXFLAGS"
1298 if AC_TRY_EVAL(ac_compile); then
1299 if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then
1300 enable_sjlj_exceptions=yes
1301 elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
1302 enable_sjlj_exceptions=no
1305 CXXFLAGS="$old_CXXFLAGS"
1307 if test x$enable_sjlj_exceptions = xyes; then
1308 AC_DEFINE(_GLIBCPP_SJLJ_EXCEPTIONS, 1,
1309 [Define if the compiler is configured for setjmp/longjmp exceptions.])
1310 ac_exception_model_name=sjlj
1311 elif test x$enable_sjlj_exceptions = xno; then
1312 ac_exception_model_name="call frame"
1314 AC_MSG_ERROR([unable to detect exception model])
1317 AC_MSG_RESULT($ac_exception_model_name)
1322 dnl Check for ISO/IEC 9899:1999 "C99" support.
1324 dnl GLIBCPP_ENABLE_C99
1325 dnl --enable-c99 defines _GLIBCPP_USE_C99
1326 dnl --disable-c99 leaves _GLIBCPP_USE_C99 undefined
1327 dnl + Usage: GLIBCPP_ENABLE_C99[(DEFAULT)]
1328 dnl Where DEFAULT is either `yes' or `no'. If omitted, it
1329 dnl defaults to `no'.
1330 dnl + If 'C99' stuff is not available, ignores DEFAULT and sets `no'.
1332 dnl GLIBCPP_ENABLE_C99
1333 AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl
1334 define([GLIBCPP_ENABLE_C99_DEFAULT], ifelse($1, yes, yes, no))dnl
1337 changequote(<<, >>)dnl
1338 <<--enable-c99 turns on 'ISO/IEC 9899:1999 support' [default=>>GLIBCPP_ENABLE_C99_DEFAULT],
1339 changequote([, ])dnl
1340 [case "$enableval" in
1341 yes) enable_c99=yes ;;
1342 no) enable_c99=no ;;
1343 *) AC_MSG_ERROR([Unknown argument to enable/disable C99]) ;;
1345 enable_c99=GLIBCPP_ENABLE_C99_DEFAULT)dnl
1350 # Check for the existence of <math.h> functions used if C99 is enabled.
1351 AC_TRY_COMPILE([#include <math.h>],[fpclassify(0.0);],, [ac_c99_math=no])
1352 AC_TRY_COMPILE([#include <math.h>],[isfinite(0.0);],, [ac_c99_math=no])
1353 AC_TRY_COMPILE([#include <math.h>],[isinf(0.0);],, [ac_c99_math=no])
1354 AC_TRY_COMPILE([#include <math.h>],[isnan(0.0);],, [ac_c99_math=no])
1355 AC_TRY_COMPILE([#include <math.h>],[isnormal(0.0);],, [ac_c99_math=no])
1356 AC_TRY_COMPILE([#include <math.h>],[signbit(0.0);],, [ac_c99_math=no])
1357 AC_TRY_COMPILE([#include <math.h>],[isgreater(0,0);],, [ac_c99_math=no])
1358 AC_TRY_COMPILE([#include <math.h>],[isgreaterequal(0,0);],, [ac_c99_math=no])
1359 AC_TRY_COMPILE([#include <math.h>],[isless(0,0);],, [ac_c99_math=no])
1360 AC_TRY_COMPILE([#include <math.h>],[islessequal(0,0);],, [ac_c99_math=no])
1361 AC_TRY_COMPILE([#include <math.h>],[islessgreater(0,0);],, [ac_c99_math=no])
1362 AC_TRY_COMPILE([#include <math.h>],[isunordered(0,0);],, [ac_c99_math=no])
1364 # Check for the existence in <stdlib.h> of lldiv_t, et. al.
1365 AC_CHECK_FUNC(strtoll,,ac_c99_stdlib=no)
1366 AC_CHECK_FUNC(strtoull,,ac_c99_stdlib=no)
1367 AC_CHECK_FUNC(llabs,,ac_c99_stdlib=no)
1368 AC_CHECK_FUNC(lldiv,,ac_c99_stdlib=no)
1369 AC_CHECK_FUNC(atoll,,ac_c99_stdlib=no)
1371 AC_MSG_CHECKING([for lldiv_t declaration])
1372 AC_CACHE_VAL(ac_c99_lldiv_t, [
1373 AC_TRY_COMPILE([#include <stdlib.h>],
1375 [ac_c99_lldiv_t=yes], [ac_c99_lldiv_t=no])
1377 AC_MSG_RESULT($ac_c99_lldiv_t)
1378 if test x"$ac_c99_lldiv_t" = x"no"; then
1382 # Check for the existence of <wchar.h> functions used if C99 is enabled.
1383 AC_CHECK_FUNC(wcstold,,ac_c99_wchar=no)
1384 AC_CHECK_FUNC(wcstoll,,ac_c99_wchar=no)
1385 AC_CHECK_FUNC(wcstoull,,ac_c99_wchar=no)
1387 AC_MSG_CHECKING([for enabled ISO C99 support])
1388 if test x"$ac_c99_math" = x"no" || test x"$ac_c99_wchar" = x"no" \
1389 || test x"$ac_c99_stdlib" = x"no"; then
1392 AC_MSG_RESULT($enable_c99)
1394 # Option parsed, now set things appropriately
1395 if test x"$enable_c99" = x"yes"; then
1396 AC_DEFINE(_GLIBCPP_USE_C99)
1404 dnl Check for template specializations for the 'long long' type extension.
1405 dnl NB: Must check for C99 support before calling _GLIBCPP_ENABLE_LONG_LONG
1407 dnl GLIBCPP_ENABLE_LONG_LONG
1408 dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG
1409 dnl --disable-long-long leaves _GLIBCPP_USE_LONG_LONG undefined
1410 dnl + Usage: GLIBCPP_ENABLE_LONG_LONG[(DEFAULT)]
1411 dnl Where DEFAULT is either `yes' or `no'. If omitted, it
1412 dnl defaults to `no'.
1413 dnl + If 'long long' stuff is not available, ignores DEFAULT and sets `no'.
1415 dnl GLIBCPP_ENABLE_LONG_LONG
1416 AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
1417 define([GLIBCPP_ENABLE_LONG_LONG_DEFAULT], ifelse($1, yes, yes, no))dnl
1419 AC_ARG_ENABLE(long-long,
1420 changequote(<<, >>)dnl
1421 <<--enable-long-long turns on 'long long' [default=>>GLIBCPP_ENABLE_LONG_LONG_DEFAULT],
1422 changequote([, ])dnl
1423 [case "$enableval" in
1424 yes) enable_long_long=yes ;;
1425 no) enable_long_long=no ;;
1426 *) AC_MSG_ERROR([Unknown argument to enable/disable long long]) ;;
1428 enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl
1430 # iostreams require strtoll, strtoull to compile. If the
1431 # GLIBCPP_ENABLE_C99 tests found these, and if C99 support is enabled,
1432 # go ahead and allow long long to be used.
1433 if test x"$enable_c99" = x"no"; then
1434 enable_long_long=no;
1437 # Option parsed, now set things appropriately
1438 AC_MSG_CHECKING([for enabled long long support])
1439 if test x"$enable_long_long" = xyes; then
1440 AC_DEFINE(_GLIBCPP_USE_LONG_LONG)
1442 AC_MSG_RESULT($enable_long_long)
1447 dnl Check for what kind of C headers to use.
1449 dnl GLIBCPP_ENABLE_CHEADERS
1450 dnl --enable-cheaders= [does stuff].
1451 dnl --disable-cheaders [does not do anything, really].
1452 dnl + This will eventually need to be 'c_shadow' by default.
1453 dnl + Usage: GLIBCPP_ENABLE_CHEADERS[(DEFAULT)]
1454 dnl Where DEFAULT is either `c' or `c_std' or 'c_shadow'.
1455 dnl If ommitted, it defaults to `c_std'.
1456 AC_DEFUN(GLIBCPP_ENABLE_CHEADERS, [dnl
1457 define([GLIBCPP_ENABLE_CHEADERS_DEFAULT], ifelse($1, c_std, c_std, c_std))dnl
1458 AC_MSG_CHECKING([for c header strategy to use])
1459 AC_ARG_ENABLE(cheaders,
1460 changequote(<<, >>)dnl
1461 << --enable-cheaders construct "C" header files for
1462 g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT],
1464 [case "$enableval" in
1469 enable_cheaders=c_std
1472 enable_cheaders=c_shadow
1474 *) AC_MSG_ERROR([Unknown argument to enable/disable "C" headers])
1477 enable_cheaders=GLIBCPP_ENABLE_CHEADERS_DEFAULT)
1478 AC_MSG_RESULT($enable_cheaders)
1480 dnl Option parsed, now set things appropriately
1481 case "$enable_cheaders" in
1483 CSHADOW_FLAGS="-fno-builtin"
1484 C_INCLUDE_DIR='${top_srcdir}/include/c_shadow'
1485 AC_DEFINE(_GLIBCPP_USE_SHADOW_HEADERS)
1489 C_INCLUDE_DIR='${top_srcdir}/include/c_std'
1493 C_INCLUDE_DIR='${top_srcdir}/include/c'
1497 AC_SUBST(CSHADOW_FLAGS)
1498 AC_SUBST(C_INCLUDE_DIR)
1499 AM_CONDITIONAL(GLIBCPP_USE_CSHADOW, test "$enable_cheaders" = c_shadow)
1504 dnl Check for wide character support. Has the same effect as the option
1505 dnl in gcc's configure, but in a form that autoconf can mess with.
1507 dnl GLIBCPP_ENABLE_C_MBCHAR
1508 dnl --enable-c-mbchar requests all the wchar_t stuff.
1509 dnl --disable-c-mbchar doesn't.
1510 dnl + Usage: GLIBCPP_ENABLE_C_MBCHAR[(DEFAULT)]
1511 dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
1512 dnl defaults to `no'.
1513 AC_DEFUN(GLIBCPP_ENABLE_C_MBCHAR, [dnl
1514 define([GLIBCPP_ENABLE_C_MBCHAR_DEFAULT], ifelse($1, yes, yes, no))dnl
1515 AC_ARG_ENABLE(c-mbchar,
1516 changequote(<<, >>)dnl
1517 << --enable-c-mbchar enable multibyte (wide) characters [default=>>GLIBCPP_ENABLE_C_MBCHAR_DEFAULT],
1518 changequote([, ])dnl
1519 [case "$enableval" in
1520 yes) enable_c_mbchar=yes ;;
1521 no) enable_c_mbchar=no ;;
1522 *) AC_MSG_ERROR([Unknown argument to enable/disable c-mbchar]) ;;
1524 enable_c_mbchar=GLIBCPP_ENABLE_C_MBCHAR_DEFAULT)dnl
1525 dnl Option parsed, now other scripts can test enable_c_mbchar for yes/no.
1530 dnl Set up *_INCLUDES and *_INCLUDE_DIR variables for all sundry Makefile.am's.
1532 dnl GLIBCPP_INCLUDE_DIR
1534 dnl TOPLEVEL_INCLUDES
1535 dnl LIBMATH_INCLUDES
1536 dnl LIBSUPCXX_INCLUDES
1538 dnl CSHADOW_INCLUDES
1540 dnl GLIBCPP_EXPORT_INCLUDE
1541 AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [
1542 # Root level of the include sources.
1543 GLIBCPP_INCLUDE_DIR='$(top_srcdir)/include'
1545 # Can either use include/c or include/c_std to grab "C" headers. This
1546 # variable is set to the include directory currently in use.
1547 # set with C_INCLUDE_DIR in GLIBCPP_ENABLE_CHEADERS
1549 # Passed down for canadian crosses.
1550 if test x"$CANADIAN" = xyes; then
1551 TOPLEVEL_INCLUDES='-I$(includedir)'
1554 LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
1556 LIBSUPCXX_INCLUDES='-I$(top_srcdir)/libsupc++'
1558 #if GLIBCPP_NEED_LIBIO
1559 LIBIO_INCLUDES='-I$(top_builddir)/libio -I$(top_srcdir)/libio'
1561 #LIBIO_INCLUDES='-I$(top_srcdir)/libio'
1564 #if GLIBCPP_USE_CSHADOW
1565 # CSHADOW_INCLUDES='-I$(GLIBCPP_INCLUDE_DIR)/std -I$(C_INCLUDE_DIR) \
1566 # -I$(top_blddir)/cshadow'
1568 CSTD_INCLUDES='-I$(GLIBCPP_INCLUDE_DIR)/std -I$(C_INCLUDE_DIR)'
1571 # Now, export this to all the little Makefiles....
1572 AC_SUBST(GLIBCPP_INCLUDE_DIR)
1573 AC_SUBST(TOPLEVEL_INCLUDES)
1574 AC_SUBST(LIBMATH_INCLUDES)
1575 AC_SUBST(LIBSUPCXX_INCLUDES)
1576 AC_SUBST(LIBIO_INCLUDES)
1577 AC_SUBST(CSTD_INCLUDES)
1582 dnl Set up *_FLAGS and *FLAGS variables for all sundry Makefile.am's.
1584 AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
1585 # Optimization flags that are probably a good idea for thrill-seekers. Just
1586 # uncomment the lines below and make, everything else is ready to go...
1587 # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc
1589 AC_SUBST(OPTIMIZE_CXXFLAGS)
1591 WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline'
1592 AC_SUBST(WARN_FLAGS)
1596 dnl GLIBCPP_EXPORT_INSTALL_INFO
1597 dnl calculates gxx_install_dir
1598 dnl exports glibcpp_toolexecdir
1599 dnl exports glibcpp_toolexeclibdir
1601 dnl Assumes cross_compiling bits already done, and with_cross_host in
1604 dnl GLIBCPP_EXPORT_INSTALL_INFO
1605 AC_DEFUN(GLIBCPP_EXPORT_INSTALL_INFO, [
1607 glibcpp_toolexecdir=no
1608 glibcpp_toolexeclibdir=no
1610 AC_MSG_CHECKING([for interface version number])
1611 libstdcxx_interface=$INTERFACE
1612 AC_MSG_RESULT($libstdcxx_interface)
1614 # Process the option --with-gxx-include-dir=<path to include-files directory>
1615 AC_MSG_CHECKING([for --with-gxx-include-dir])
1616 AC_ARG_WITH(gxx-include-dir,
1617 [ --with-gxx-include-dir the installation directory for include files],
1618 [case "${withval}" in
1620 AC_MSG_ERROR(Missing directory for --with-gxx-include-dir)
1627 gxx_include_dir=${withval}
1629 esac], [gxx_include_dir=no])
1630 AC_MSG_RESULT($gxx_include_dir)
1632 # Process the option "--enable-version-specific-runtime-libs"
1633 AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
1634 AC_ARG_ENABLE(version-specific-runtime-libs,
1635 [ --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory ],
1636 [ version_specific_libs=yes
1637 # Need the gcc compiler version to know where to install libraries
1638 # and header files if --enable-version-specific-runtime-libs option
1641 gcc_version_trigger=${srcdir}/../gcc/version.c
1642 gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
1643 gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
1644 gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/'${gcc_version}/include/g++
1645 glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
1646 glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version}
1648 ],version_specific_libs=no)
1649 AC_MSG_RESULT($version_specific_libs)
1651 # Default case for install directory for include files.
1652 if test x"$version_specific_libs" = x"no" \
1653 && test x"$gxx_include_dir" = x"no"; then
1654 gxx_include_dir='$(prefix)'/include/g++-${libstdcxx_interface}
1657 # Calculate glibcpp_toolexecdir, glibcpp_toolexeclibdir
1658 # Install a library built with a cross compiler in tooldir, not libdir.
1659 if test x"$glibcpp_toolexecdir" = x"no"; then
1660 if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then
1661 glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
1662 glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
1664 glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
1665 glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
1669 AC_MSG_CHECKING([for install location])
1670 AC_MSG_RESULT($gxx_include_dir)
1672 AC_SUBST(gxx_include_dir)
1673 AC_SUBST(glibcpp_toolexecdir)
1674 AC_SUBST(glibcpp_toolexeclibdir)
1678 # Check whether LC_MESSAGES is available in <locale.h>.
1679 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1681 # This file file be copied and used freely without restrictions. It can
1682 # be used in projects which are not available under the GNU Public License
1683 # but which still want to provide support for the GNU gettext functionality.
1684 # Please note that the actual code is *not* freely available.
1688 AC_DEFUN(AC_LC_MESSAGES, [
1689 AC_CHECK_HEADER(locale.h, [
1690 AC_CACHE_CHECK([for LC_MESSAGES], ac_cv_val_LC_MESSAGES,
1691 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1692 ac_cv_val_LC_MESSAGES=yes, ac_cv_val_LC_MESSAGES=no)])
1693 if test $ac_cv_val_LC_MESSAGES = yes; then
1694 AC_DEFINE(HAVE_LC_MESSAGES)
1700 # Check for functions in math library.
1701 # Ulrich Drepper <drepper@cygnus.com>, 1998.
1703 # This file can be copied and used freely without restrictions. It can
1704 # be used in projects which are not available under the GNU Public License
1705 # but which still want to provide support for the GNU gettext functionality.
1706 # Please note that the actual code is *not* freely available.
1710 dnl AC_REPLACE_MATHFUNCS(FUNCTION...)
1711 AC_DEFUN(AC_REPLACE_MATHFUNCS,
1712 [AC_CHECK_FUNCS([$1], , [LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"])
1713 AC_SUBST(LIBMATHOBJS)dnl
1717 # Check for string functions.
1718 # Ulrich Drepper <drepper@cygnus.com>, 1998.
1720 # This file can be copied and used freely without restrictions. It can
1721 # be used in projects which are not available under the GNU Public License
1722 # but which still want to provide support for the GNU gettext functionality.
1723 # Please note that the actual code is *not* freely available.
1727 dnl AC_REPLACE_STRINGFUNCS(FUNCTION...)
1728 AC_DEFUN(AC_REPLACE_STRINGFUNCS,
1729 [AC_CHECK_FUNCS([$1], , [LIBSTRINGOBJS="$LIBSTRINGOBJS ${ac_func}.lo"])
1730 AC_SUBST(LIBSTRINGOBJS)dnl
1734 dnl This macro searches for a GNU version of make. If a match is found, the
1735 dnl makefile variable `ifGNUmake' is set to the empty string, otherwise it is
1736 dnl set to "#". This is useful for including a special features in a Makefile,
1737 dnl which cannot be handled by other versions of make. The variable
1738 dnl _cv_gnu_make_command is set to the command to invoke GNU make if it exists,
1739 dnl the empty string otherwise.
1741 dnl Here is an example of its use:
1743 dnl Makefile.in might contain:
1745 dnl # A failsafe way of putting a dependency rule into a makefile
1747 dnl $(CC) -MM $(srcdir)/*.c > $(DEPEND)
1749 dnl @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND)))
1750 dnl @ifGNUmake@ include $(DEPEND)
1751 dnl @ifGNUmake@ endif
1753 dnl Then configure.in would normally contain:
1755 dnl CHECK_GNU_MAKE()
1756 dnl AC_OUTPUT(Makefile)
1758 dnl Then perhaps to cause gnu make to override any other make, we could do
1759 dnl something like this (note that GNU make always looks for GNUmakefile first):
1761 dnl if ! test x$_cv_gnu_make_command = x ; then
1762 dnl mv Makefile GNUmakefile
1763 dnl echo .DEFAULT: > Makefile ;
1764 dnl echo \ $_cv_gnu_make_command \$@ >> Makefile;
1767 dnl Then, if any (well almost any) other make is called, and GNU make also
1768 dnl exists, then the other make wraps the GNU make.
1770 dnl @author John Darrington <j.darrington@elvis.murdoch.edu.au>
1771 dnl @version 1.1 #### replaced Id string now that Id is for lib-v3; pme
1773 dnl #### Changes for libstdc++-v3: reformatting and linewrapping; prepending
1774 dnl #### GLIBCPP_ to the macro name; adding the :-make fallback in the
1775 dnl #### conditional's subshell (" --version" is not a command), using a
1776 dnl #### different option to grep(1).
1778 dnl #### Fixed Bourne shell portability bug (use ${MAKE-make}, not
1779 dnl #### ${MAKE:-make}).
1782 GLIBCPP_CHECK_GNU_MAKE, [AC_CACHE_CHECK( for GNU make,_cv_gnu_make_command,
1783 _cv_gnu_make_command='' ;
1784 dnl Search all the common names for GNU make
1785 for a in "${MAKE-make}" make gmake gnumake ; do
1786 if ( $a --version 2> /dev/null | grep -c GNU > /dev/null )
1788 _cv_gnu_make_command=$a ;
1793 dnl If there was a GNU version, then set @ifGNUmake@ to the empty
1794 dnl string, '#' otherwise
1795 if test "x$_cv_gnu_make_command" != "x" ; then
1803 sinclude(../libtool.m4)
1804 dnl The lines below arrange for aclocal not to bring an installed
1805 dnl libtool.m4 into aclocal.m4, while still arranging for automake to
1806 dnl add a definition of LIBTOOL to Makefile.in.
1807 ifelse(,,,[AC_SUBST(LIBTOOL)
1808 AC_DEFUN([AM_PROG_LIBTOOL])
1809 AC_DEFUN([AC_LIBTOOL_DLOPEN])
1810 AC_DEFUN([AC_PROG_LD])