1 dnl aclocal.m4 generated automatically by aclocal 1.4
3 dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
4 dnl This file is free software; the Free Software Foundation
5 dnl gives unlimited permission to copy and/or distribute it,
6 dnl with or without modifications, as long as this notice is preserved.
8 dnl This program is distributed in the hope that it will be useful,
9 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
10 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11 dnl PARTICULAR PURPOSE.
14 dnl Initialize configure bits.
16 dnl Define OPTLEVEL='-O2' if new inlining code present.
19 AC_DEFUN(GLIBCPP_CONFIGURE, [
20 dnl Default to --enable-multilib
21 AC_ARG_ENABLE(multilib,
22 [ --enable-multilib build hella library versions (default)],
23 [case "${enableval}" in
26 *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
27 esac], [multilib=yes])dnl
29 glibcpp_basedir=$auxdir/$1/libstdc++-v3
30 AC_SUBST(glibcpp_basedir)
32 AM_INIT_AUTOMAKE(libstdc++, 2.91)
34 # Never versions of autoconf add an underscore to these functions.
35 # Prevent future problems ...
36 ifdef([AC_PROG_CC_G],[],[define([AC_PROG_CC_G],defn([_AC_PROG_CC_G]))])
37 ifdef([AC_PROG_CC_GNU],[],[define([AC_PROG_CC_GNU],defn([_AC_PROG_CC_GNU]))])
38 ifdef([AC_PROG_CXX_G],[],[define([AC_PROG_CXX_G],defn([_AC_PROG_CXX_G]))])
39 ifdef([AC_PROG_CXX_GNU],[],[define([AC_PROG_CXX_GNU],defn([_AC_PROG_CXX_GNU]))])
43 # FIXME: We temporarily define our own version of AC_PROG_CC. This is
44 # copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
45 # are probably using a cross compiler, which will not be able to fully
46 # link an executable. This should really be fixed in autoconf
49 AC_DEFUN(LIB_AC_PROG_CC,
50 [AC_BEFORE([$0], [AC_PROG_CPP])dnl
51 dnl Fool anybody using AC_PROG_CC.
52 AC_PROVIDE([AC_PROG_CC])
53 AC_CHECK_PROG(CC, gcc, gcc)
54 if test -z "$CC"; then
55 AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
56 test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
61 if test $ac_cv_prog_gcc = yes; then
63 dnl Check whether -g works, even if CFLAGS is set, in case the package
64 dnl plays around with CFLAGS (such as to build both debugging and
65 dnl normal versions of a library), tasteless as that idea is.
66 ac_test_CFLAGS="${CFLAGS+set}"
67 ac_save_CFLAGS="$CFLAGS"
70 if test "$ac_test_CFLAGS" = set; then
71 CFLAGS="$ac_save_CFLAGS"
72 elif test $ac_cv_prog_cc_g = yes; then
79 test "${CFLAGS+set}" = set || CFLAGS="-g"
85 # Can't just call these here as g++ requires libstc++ to be built....
88 # Likewise for AC_PROG_CXX.
89 AC_DEFUN(LIB_AC_PROG_CXX,
90 [AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
91 dnl Fool anybody using AC_PROG_CXX.
92 AC_PROVIDE([AC_PROG_CXX])
93 # Use CXX_libstdcxx so that we do not cause CXX to be cached with the
94 # flags that come in CXX while configuring libstdc++. They're different
95 # from those used for all other target libraries. If CXX is set in
96 # the environment, respect that here.
98 AC_CHECK_PROGS(CXX_libstdcxx, $CCC c++ g++ gcc CC cxx cc++, gcc)
101 test -z "$CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
105 if test $ac_cv_prog_gxx = yes; then
107 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
108 dnl plays around with CXXFLAGS (such as to build both debugging and
109 dnl normal versions of a library), tasteless as that idea is.
110 ac_test_CXXFLAGS="${CXXFLAGS+set}"
111 ac_save_CXXFLAGS="$CXXFLAGS"
114 if test "$ac_test_CXXFLAGS" = set; then
115 CXXFLAGS="$ac_save_CXXFLAGS"
116 elif test $ac_cv_prog_cxx_g = yes; then
123 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
129 AC_CHECK_TOOL(AS, as)
130 AC_CHECK_TOOL(AR, ar)
131 AC_CHECK_TOOL(RANLIB, ranlib, :)
137 # We need AC_EXEEXT to keep automake happy in cygnus mode. However,
138 # at least currently, we never actually build a program, so we never
139 # need to use $(EXEEXT). Moreover, the test for EXEEXT normally
140 # fails, because we are probably configuring with a cross compiler
141 # which cant create executables. So we include AC_EXEEXT to keep
142 # automake happy, but we dont execute it, since we dont care about
148 . [$]{glibcpp_basedir}/configure.host
150 case [$]{glibcpp_basedir} in
151 /* | [A-Za-z]:[\\/]*) libgcj_flagbasedir=[$]{glibcpp_basedir} ;;
152 *) glibcpp_flagbasedir='[$](top_builddir)/'[$]{glibcpp_basedir} ;;
155 # This does for the target what configure.host does for the host. In
156 # addition to possibly modifying the same flags, it also sets up symlinks.
162 dnl Check to see if g++ can compile this library, and if so, if any version-
163 dnl specific precautions need to be taken.
165 dnl GLIBCPP_CHECK_COMPILER_VERSION
166 AC_DEFUN(GLIBCPP_CHECK_COMPILER_VERSION, [
167 if test ! -f stamp-sanity-compiler; then
168 AC_MSG_CHECKING([for g++ that will successfully compile libstdc++-v3])
175 ], gpp_satisfactory=yes, AC_MSG_ERROR([please upgrade to GCC 3.0 or above]))
177 AC_MSG_RESULT($gpp_satisfactory)
178 touch stamp-sanity-compiler
184 dnl Test for newer compiler features, or features that are present in newer
185 dnl compiler version but not older compiler versions should be placed
188 dnl Define WERROR='-Werror' if requested and possible; g++'s that lack the
189 dnl new inlining code or the new system_header pragma will die on -Werror.
190 dnl Leave it out by default and use maint-mode to use it.
192 dnl Define SECTION_FLAGS='-ffunction-sections -fdata-sections' if
193 dnl compiler supports it and the user has not requested debug mode.
195 dnl GLIBCPP_CHECK_COMPILER_FEATURES
196 AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [
197 # All these tests are for C++; save the language and the compiler flags.
198 # The CXXFLAGS thing is suspicious, but based on similar bits
199 # found in GLIBCPP_CONFIGURE.
202 ac_test_CXXFLAGS="${CXXFLAGS+set}"
203 ac_save_CXXFLAGS="$CXXFLAGS"
205 # Check for maintainer-mode bits.
206 if test x"$USE_MAINTAINER_MODE" = xno; then
212 # Check for -ffunction-sections -fdata-sections
213 AC_MSG_CHECKING([for g++ that supports -ffunction-sections -fdata-sections])
214 CXXFLAGS='-Werror -ffunction-sections -fdata-sections'
215 AC_TRY_COMPILE(, [int foo;
216 ], [ac_fdsections=yes], [ac_fdsections=no])
217 if test "$ac_test_CXXFLAGS" = set; then
218 CXXFLAGS="$ac_save_CXXFLAGS"
220 # this is the suspicious part
223 if test x"$ac_fdsections" = x"yes" && test x"$enable_debug" = x"no"; then
224 SECTION_FLAGS='-ffunction-sections -fdata-sections'
226 AC_MSG_RESULT($ac_fdsections)
230 AC_SUBST(SECTION_FLAGS)
235 dnl If GNU ld is in use, check to see if tricky linker opts can be used. If
236 dnl the native linker is in use, all variables will be defined to something
237 dnl safe (like an empty string).
239 dnl Define SECTION_LDFLAGS='-Wl,--gc-sections' if possible.
240 dnl Define OPT_LDFLAGS='-Wl,-O1' if possible.
242 dnl GLIBCPP_CHECK_LINKER_FEATURES
243 AC_DEFUN(GLIBCPP_CHECK_LINKER_FEATURES, [
244 # If we're not using GNU ld, then there's no point in even trying these
245 # tests. Check for that first. We should have already tested for gld
246 # by now (in libtool), but require it now just to be safe...
249 AC_REQUIRE([AC_PROG_LD])
252 if test "$ac_cv_prog_gnu_ld" = "notbroken"; then
253 # GNU ld it is! Joy and bunny rabbits!
255 # All these tests are for C++; save the language and the compiler flags.
256 # Need to do this so that g++ won't try to link in libstdc++
257 ac_test_CFLAGS="${CFLAGS+set}"
258 ac_save_CFLAGS="$CFLAGS"
259 CFLAGS='-x c++ -Wl,--gc-sections'
261 # Check for -Wl,--gc-sections
262 # XXX This test is broken at the moment, as symbols required for
263 # linking are now in libsupc++ (not built yet.....). In addition,
264 # this test has cored on solaris in the past. In addition,
265 # --gc-sections doesn't really work at the moment (keeps on discarding
266 # used sections, first .eh_frame and now some of the glibc sections for
267 # iconv). Bzzzzt. Thanks for playing, maybe next time.
268 AC_MSG_CHECKING([for ld that supports -Wl,--gc-sections])
276 ], [ac_sectionLDflags=yes],[ac_sectionLFflags=no], [ac_sectionLDflags=yes])
277 if test "$ac_test_CFLAGS" = set; then
278 CFLAGS="$ac_save_CFLAGS"
280 # this is the suspicious part
283 if test "$ac_sectionLDflags" = "yes"; then
284 SECTION_LDFLAGS='-Wl,--gc-sections'
286 AC_MSG_RESULT($ac_sectionLDflags)
289 # Set linker optimization flags.
290 if test x"$ac_cv_prog_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then
291 OPT_LDFLAGS='-Wl,-O1'
294 AC_SUBST(SECTION_LDFLAGS)
295 AC_SUBST(OPT_LDFLAGS)
300 dnl Check to see if the (math function) argument passed is
301 dnl declared when using the c++ compiler
302 dnl ASSUMES argument is a math function with ONE parameter
304 dnl GLIBCPP_CHECK_MATH_DECL_1
305 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_1, [
306 AC_MSG_CHECKING([for $1 declaration])
307 if test x${glibcpp_cv_func_$1_use+set} != xset; then
308 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
311 AC_TRY_COMPILE([#include <math.h>
317 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
321 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
325 dnl Check to see if the (math function) argument passed is
326 dnl 1) declared when using the c++ compiler
327 dnl 2) has "C" linkage
328 dnl 3) if not, see if 1) and 2) for argument prepended with '_'
330 dnl Define HAVE_CARGF etc if "cargf" is declared and links
332 dnl argument 1 is name of function to check
334 dnl ASSUMES argument is a math function with ONE parameter
336 dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1
337 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, [
338 GLIBCPP_CHECK_MATH_DECL_1($1)
339 if test x$glibcpp_cv_func_$1_use = x"yes"; then
342 GLIBCPP_CHECK_MATH_DECL_1(_$1)
343 if test x$glibcpp_cv_func__$1_use = x"yes"; then
351 dnl Like GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of
352 dnl of functions at once. It's an all-or-nothing check -- either
353 dnl HAVE_XYZ is defined for each of the functions, or for none of them.
354 dnl Doing it this way saves significant configure time.
355 AC_DEFUN(GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1, [
356 AC_MSG_CHECKING([for $1 functions])
357 AC_CACHE_VAL(glibcpp_cv_func_$2_use, [
360 AC_TRY_COMPILE([#include <math.h>],
361 [ `for x in $3; do echo "$x (0);"; done` ],
362 [glibcpp_cv_func_$2_use=yes],
363 [glibcpp_cv_func_$2_use=no])
365 AC_MSG_RESULT($glibcpp_cv_func_$2_use)
366 if test x$glibcpp_cv_func_$2_use = x"yes"; then
372 dnl Check to see if the (math function) argument passed is
373 dnl declared when using the c++ compiler
374 dnl ASSUMES argument is a math function with ONE parameter
376 dnl GLIBCPP_CHECK_MATH_DECL_2
377 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_2, [
378 AC_MSG_CHECKING([for $1 declaration])
379 if test x${glibcpp_cv_func_$1_use+set} != xset; then
380 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
383 AC_TRY_COMPILE([#include <math.h>],
385 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
389 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
393 dnl Check to see if the (math function) argument passed is
394 dnl 1) declared when using the c++ compiler
395 dnl 2) has "C" linkage
397 dnl Define HAVE_CARGF etc if "cargf" is declared and links
399 dnl argument 1 is name of function to check
401 dnl ASSUMES argument is a math function with TWO parameters
403 dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2
404 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2, [
405 GLIBCPP_CHECK_MATH_DECL_2($1)
406 if test x$glibcpp_cv_func_$1_use = x"yes"; then
409 GLIBCPP_CHECK_MATH_DECL_2(_$1)
410 if test x$glibcpp_cv_func__$1_use = x"yes"; then
418 dnl Check to see if the (math function) argument passed is
419 dnl declared when using the c++ compiler
420 dnl ASSUMES argument is a math function with ONE parameter
422 dnl GLIBCPP_CHECK_MATH_DECL_3
423 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_3, [
424 AC_MSG_CHECKING([for $1 declaration])
425 if test x${glibcpp_cv_func_$1_use+set} != xset; then
426 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
429 AC_TRY_COMPILE([#include <math.h>],
431 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
435 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
439 dnl Check to see if the (math function) argument passed is
440 dnl 1) declared when using the c++ compiler
441 dnl 2) has "C" linkage
443 dnl Define HAVE_CARGF etc if "cargf" is declared and links
445 dnl argument 1 is name of function to check
447 dnl ASSUMES argument is a math function with THREE parameters
449 dnl GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3
450 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3, [
451 GLIBCPP_CHECK_MATH_DECL_3($1)
452 if test x$glibcpp_cv_func_$1_use = x"yes"; then
455 GLIBCPP_CHECK_MATH_DECL_3(_$1)
456 if test x$glibcpp_cv_func__$1_use = x"yes"; then
464 dnl Check to see if the (stdlib function) argument passed is
465 dnl 1) declared when using the c++ compiler
466 dnl 2) has "C" linkage
468 dnl Define HAVE_STRTOLD if "strtold" is declared and links
469 dnl Define HAVE_STRTOF if "strtof" is declared and links
471 dnl argument 1 is name of function to check
473 dnl ASSUMES argument is a math function with TWO parameters
475 dnl GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2
476 AC_DEFUN(GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2, [
477 AC_MSG_CHECKING([for $1 declaration])
478 if test x${glibcpp_cv_func_$1_use+set} != xset; then
479 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
482 AC_TRY_COMPILE([#include <stdlib.h>],
484 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
488 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
489 if test x$glibcpp_cv_func_$1_use = x"yes"; then
496 dnl Because the builtins are picky picky picky about the arguments they take,
497 dnl do an explict linkage tests here.
498 dnl Check to see if the (math function) argument passed is
499 dnl 1) declared when using the c++ compiler
500 dnl 2) has "C" linkage
502 dnl Define HAVE_CARGF etc if "cargf" is declared and links
504 dnl argument 1 is name of function to check
506 dnl ASSUMES argument is a math function with ONE parameter
508 dnl GLIBCPP_CHECK_BUILTIN_MATH_DECL_LINKAGE_1
509 AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1, [
510 AC_MSG_CHECKING([for $1 declaration])
511 if test x${glibcpp_cv_func_$1_use+set} != xset; then
512 AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
515 AC_TRY_COMPILE([#include <math.h>],
517 [glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
521 AC_MSG_RESULT($glibcpp_cv_func_$1_use)
522 if test x$glibcpp_cv_func_$1_use = x"yes"; then
523 AC_MSG_CHECKING([for $1 linkage])
524 if test x${glibcpp_cv_func_$1_link+set} != xset; then
525 AC_CACHE_VAL(glibcpp_cv_func_$1_link, [
526 AC_TRY_LINK([#include <math.h>],
528 [glibcpp_cv_func_$1_link=yes], [glibcpp_cv_func_$1_link=no])
531 AC_MSG_RESULT($glibcpp_cv_func_$1_link)
532 if test x$glibcpp_cv_func_$1_link = x"yes"; then
533 ac_tr_func=HAVE_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
534 AC_DEFINE_UNQUOTED(${ac_tr_func})
541 dnl Check to see what builtin math functions are supported
543 dnl check for __builtin_abs
544 dnl check for __builtin_fabsf
545 dnl check for __builtin_fabs
546 dnl check for __builtin_fabl
547 dnl check for __builtin_labs
548 dnl check for __builtin_sqrtf
549 dnl check for __builtin_sqrtl
550 dnl check for __builtin_fsqrt
551 dnl check for __builtin_sinf
552 dnl check for __builtin_sin
553 dnl check for __builtin_sinl
554 dnl check for __builtin_cosf
555 dnl check for __builtin_cos
556 dnl check for __builtin_cosl
558 dnl GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT
559 AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
560 dnl Test for builtin math functions.
561 dnl These are made in gcc/c-common.c
562 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_abs)
563 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsf)
564 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabs)
565 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsl)
566 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs)
568 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf)
569 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fsqrt)
570 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl)
572 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf)
573 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sin)
574 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinl)
576 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosf)
577 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cos)
578 GLIBCPP_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosl)
580 dnl There is, without a doubt, a more elegant way to have these
581 dnl names exported so that they won't be stripped out of acconfig.h by
582 dnl autoheader. I leave this as an exercise to somebody less frustrated
583 dnl than I.... please email the libstdc++ list if you can figure out a
584 dnl more elegant approach (see autoconf/acgen.m4 and specifically
585 dnl AC_CHECK_FUNC for things to steal.)
587 if test x$dummyvar = x"yes"; then
588 AC_DEFINE(HAVE___BUILTIN_ABS)
589 AC_DEFINE(HAVE___BUILTIN_LABS)
590 AC_DEFINE(HAVE___BUILTIN_COS)
591 AC_DEFINE(HAVE___BUILTIN_COSF)
592 AC_DEFINE(HAVE___BUILTIN_COSL)
593 AC_DEFINE(HAVE___BUILTIN_FABS)
594 AC_DEFINE(HAVE___BUILTIN_FABSF)
595 AC_DEFINE(HAVE___BUILTIN_FABSL)
596 AC_DEFINE(HAVE___BUILTIN_SIN)
597 AC_DEFINE(HAVE___BUILTIN_SINF)
598 AC_DEFINE(HAVE___BUILTIN_SINL)
599 AC_DEFINE(HAVE___BUILTIN_FSQRT)
600 AC_DEFINE(HAVE___BUILTIN_SQRTF)
601 AC_DEFINE(HAVE___BUILTIN_SQRTL)
607 dnl Check to see what the underlying c library
608 dnl These checks need to do two things:
609 dnl 1) make sure the name is declared when using the c++ compiler
610 dnl 2) make sure the name has "C" linkage
611 dnl This might seem like overkill but experience has shown that it's not...
613 dnl Define HAVE_STRTOF etc if "strtof" is found.
614 dnl Define HAVE_STRTOLD etc if "strtold" is found.
616 dnl GLIBCPP_CHECK_STDLIB_SUPPORT
617 AC_DEFUN(GLIBCPP_CHECK_STDLIB_SUPPORT, [
618 ac_test_CXXFLAGS="${CXXFLAGS+set}"
619 ac_save_CXXFLAGS="$CXXFLAGS"
620 CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
622 AC_CHECK_FUNCS(strtof)
623 GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold)
625 CXXFLAGS="$ac_save_CXXFLAGS"
630 dnl Check to see what the underlying c library or math library is like.
631 dnl These checks need to do two things:
632 dnl 1) make sure the name is declared when using the c++ compiler
633 dnl 2) make sure the name has "C" linkage
634 dnl This might seem like overkill but experience has shown that it's not...
636 dnl Define HAVE_CARGF etc if "cargf" is found.
638 dnl GLIBCPP_CHECK_MATH_SUPPORT
639 AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
640 ac_test_CXXFLAGS="${CXXFLAGS+set}"
641 ac_save_CXXFLAGS="$CXXFLAGS"
642 CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
645 AC_CHECK_LIB(m, sin, libm="-lm")
649 dnl Check to see if certain C math functions exist.
650 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinf)
651 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnan)
652 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finite)
653 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysign)
654 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincos)
655 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass)
656 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
658 dnl Check to see if basic C math functions have float versions.
659 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig,
664 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(float round,
667 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
668 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
669 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
670 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
671 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
672 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
673 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logf)
674 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
675 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
676 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
677 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
678 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
679 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
681 dnl Check to see if basic C math functions have long double versions.
682 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(long double trig,
687 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(long double round,
690 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
691 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
692 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
693 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
694 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
695 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
696 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
697 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
698 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
699 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(logl)
700 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
701 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
702 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
703 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
704 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
705 GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
707 dnl Some runtimes have these functions with a preceding underscore. Please
708 dnl keep this sync'd with the one above. And if you add any new symbol,
709 dnl please add the corresponding block in the @BOTTOM@ section of acconfig.h.
710 dnl Check to see if certain C math functions exist.
712 dnl Check to see if basic C math functions have float versions.
713 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_float trig,
715 _acosf _asinf _atanf \
717 _coshf _sinhf _tanhf)
718 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_float round,
722 dnl Check to see if basic C math functions have long double versions.
723 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double trig,
725 _acosl _asinl _atanl \
727 _coshl _sinhl _tanhl)
728 GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double round,
733 CXXFLAGS="$ac_save_CXXFLAGS"
738 dnl Check to see if there is native support for complex
740 dnl Don't compile bits in math/* if native support exits.
742 dnl Define USE_COMPLEX_LONG_DOUBLE etc if "atan2l/copysignl" is found.
744 dnl GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
745 AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [
746 dnl Check for complex versions of math functions of platform.
747 AC_CHECK_LIB(m, main)
748 AC_REPLACE_MATHFUNCS(nan hypot hypotf atan2f expf copysignf)
750 dnl Compile the long double complex functions only if the function
751 dnl provides the non-complex long double functions that are needed.
752 dnl Currently this includes copysignl and atan2l, which should be
753 dnl cached from the GLIBCPP_CHECK_MATH_SUPPORT macro, above.
754 USE_COMPLEX_LONG_DOUBLE=no
755 if test x$ac_cv_func_atan2l = x"yes" \
756 && test x$ac_cv_func_copysignl = x"yes"; then
757 USE_COMPLEX_LONG_DOUBLE=yes
758 AC_REPLACE_MATHFUNCS(hypotl signbitl)
761 AC_SUBST(USE_COMPLEX_LONG_DOUBLE)
765 dnl Check to see what architecture and operating system we are compiling
766 dnl for. Also, if architecture- or OS-specific flags are required for
767 dnl compilation, pick them up here.
769 dnl GLIBCPP_CHECK_TARGET
770 AC_DEFUN(GLIBCPP_CHECK_TARGET, [
771 . [$]{glibcpp_basedir}/configure.target
772 AC_MSG_RESULT(CPU config directory is $cpu_include_dir)
773 AC_MSG_RESULT(OS config directory is $os_include_dir)
774 AC_LINK_FILES($os_include_dir/bits/os_defines.h, include/bits/os_defines.h)
779 dnl Check to see if this target can enable the wchar_t parts of libstdc++.
780 dnl If --disable-c-mbchar was given, no wchar_t stuff is enabled. (This
781 dnl must have been previously checked.)
783 dnl Define _GLIBCPP_USE_WCHAR_T if all the bits are found
784 dnl Define HAVE_MBSTATE_T if mbstate_t is not in wchar.h
786 dnl GLIBCPP_CHECK_WCHAR_T_SUPPORT
787 AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [
789 dnl Test wchar.h for mbstate_t, which is needed for char_traits and
790 dnl others even if wchar_t support is not on.
791 AC_MSG_CHECKING([for mbstate_t])
792 AC_TRY_COMPILE([#include <wchar.h>],
793 [mbstate_t teststate;],
794 have_mbstate_t=yes, have_mbstate_t=no)
795 AC_MSG_RESULT($have_mbstate_t)
796 if test x"$have_mbstate_t" = xyes; then
797 AC_DEFINE(HAVE_MBSTATE_T)
800 dnl Sanity check for existence of ISO C99 headers for extended encoding.
801 AC_CHECK_HEADERS(wchar.h, ac_has_wchar_h=yes, ac_has_wchar_h=no)
802 AC_CHECK_HEADER(wctype.h, ac_has_wctype_h=yes, ac_has_wctype_h=no)
804 dnl Only continue checking if the ISO C99 headers exist and support is on.
805 if test x"$ac_has_wchar_h" = xyes && test x"$ac_has_wctype_h" = xyes \
806 && test x"$enable_c_mbchar" != xno; then
808 dnl Test wchar.h for WCHAR_MIN, WCHAR_MAX, which is needed before
809 dnl numeric_limits can instantiate type_traits<wchar_t>
810 AC_MSG_CHECKING([for WCHAR_MIN and WCHAR_MAX])
811 AC_TRY_COMPILE([#include <wchar.h>],
812 [int i = WCHAR_MIN; int j = WCHAR_MAX;],
813 has_wchar_minmax=yes, has_wchar_minmax=no)
814 AC_MSG_RESULT($has_wchar_minmax)
816 dnl Test wchar.h for WEOF, which is what we use to determine whether
817 dnl to specialize for char_traits<wchar_t> or not.
818 AC_MSG_CHECKING([for WEOF])
821 #include <stddef.h>],
823 has_weof=yes, has_weof=no)
824 AC_MSG_RESULT($has_weof)
826 dnl Tests for wide character functions used in char_traits<wchar_t>.
827 AC_CHECK_FUNCS(wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset \
828 wcsrtombs mbsrtowcs, ac_wfuncs=yes, ac_wfuncs=no)
830 AC_MSG_CHECKING([for ISO C99 wchar_t support])
831 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \
832 && test x"$ac_wfuncs" = xyes; then
833 ac_isoC99_wchar_t=yes
837 AC_MSG_RESULT($ac_isoC99_wchar_t)
839 dnl Use iconv for wchar_t to char conversions. As such, check for
840 dnl X/Open Portability Guide, version 2 features (XPG2).
841 AC_CHECK_HEADER(iconv.h, ac_has_iconv_h=yes, ac_has_iconv_h=no)
842 AC_CHECK_HEADER(langinfo.h, ac_has_langinfo_h=yes, ac_has_langinfo_h=no)
844 dnl Check for existence of libiconv.a providing XPG2 wchar_t support.
845 AC_CHECK_LIB(iconv, iconv, libiconv="-liconv")
847 LIBS="$LIBS $libiconv"
849 AC_CHECK_FUNCS(iconv_open iconv_close iconv nl_langinfo, \
850 ac_XPG2funcs=yes, ac_XPG2funcs=no)
854 AC_MSG_CHECKING([for XPG2 wchar_t support])
855 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \
856 && test x"$ac_XPG2funcs" = xyes; then
861 AC_MSG_RESULT($ac_XPG2_wchar_t)
863 dnl At the moment, only enable wchar_t specializations if all the
864 dnl above support is present.
865 AC_MSG_CHECKING([for enabled wchar_t specializations])
866 if test x"$ac_isoC99_wchar_t" = xyes \
867 && test x"$ac_XPG2_wchar_t" = xyes; then
868 AC_DEFINE(_GLIBCPP_USE_WCHAR_T)
874 dnl Wide characters disabled by the user.
875 AC_MSG_WARN([wchar_t support disabled.])
881 dnl Check to see if this version of GNU C++ is afflicted by bugs in
882 dnl __complex__ float support.
884 dnl Define _GLIBCPP_BUGGY_FLOAT_COMPLEX if buggy.
886 dnl Check to see if this version of GNU C++ is afflicted by bugs in
887 dnl __complex__ support.Check for buggy __complex__ that will cause ICE in
888 dnl gcc-2.95.x when using the library, unless we define the default copy
889 dnl ctor in the specializations of complex<>.
891 dnl Define _GLIBCPP_BUGGY_COMPLEX if buggy.
892 dnl GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT
893 AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT, [
894 AC_REQUIRE([AC_PROG_CXX])
896 AC_MSG_CHECKING([for GNU C++ __complex__ support])
897 AC_CACHE_VAL(glibcpp_cv_complex, [
900 AC_TRY_COMPILE([struct dcomplex { __complex__ double x; }; \
901 dcomplex f(const dcomplex& x) { return dcomplex(x); }], \
902 [ dcomplex x; f(x); ],
903 glibcpp_cv_complex=ok,
904 glibcpp_cv_complex=buggy
908 AC_MSG_RESULT($glibcpp_cv_complex)
909 if test $glibcpp_cv_complex = buggy; then
910 AC_DEFINE(_GLIBCPP_BUGGY_COMPLEX)
913 AC_MSG_CHECKING([for GNU C++ __complex__ float support])
914 AC_CACHE_VAL(glibcpp_cv_float_complex, [
918 cat > conftest.h <<EOB
920 // Check for buggy __complex__ that causes ICE in most versions of egcs
921 // and gcc-2.95.x on certain platforms (eg., x86-win32).
923 // See http://gcc.gnu.org/ml/gcc-bugs/1999-07n/msg00845.html for
924 // more info on the bug itself.
929 __complex__ float m_value;
930 float_complex (float = 0.0f, float = 0.0f);
931 float_complex (__complex__ float val) : m_value (val) {}
932 float_complex foo (const float_complex &val)
933 { return float_complex (~val.m_value); }
936 AC_TRY_COMPILE([#include "conftest.h"], ,
937 glibcpp_cv_float_complex=ok,
938 glibcpp_cv_float_complex=buggy
942 AC_MSG_RESULT($glibcpp_cv_float_complex)
943 if test $glibcpp_cv_float_complex = buggy; then
944 AC_DEFINE(_GLIBCPP_BUGGY_FLOAT_COMPLEX)
950 dnl Check for special debugging mode; not for production use.
952 dnl GLIBCPP_ENABLE_DEBUG
953 dnl --enable-debug sets '-ggdb3 -O0'.
954 dnl --disable-debug sets '-g' and whatever optimization options the
955 dnl compiler can handle.
956 dnl + --enable-maintainer-mode automatically defaults this to on.
957 dnl + Perhaps -D/-U of NDEBUG, DEBUG, DEBUG_ASSERT, ...?
958 dnl + Usage: GLIBCPP_ENABLE_DEBUG[(DEFAULT)]
959 dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
960 dnl defaults to `no'.
961 AC_DEFUN(GLIBCPP_ENABLE_DEBUG, [dnl
962 define([GLIBCPP_ENABLE_DEBUG_DEFAULT], ifelse($1, yes, yes, no))dnl
964 changequote(<<, >>)dnl
965 << --enable-debug extra debugging, turn off optimization [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT],
967 [case "${enableval}" in
968 yes) enable_debug=yes ;;
969 no) enable_debug=no ;;
970 *) AC_MSG_ERROR([Unknown argument to enable/disable extra debugging]) ;;
972 enable_debug=GLIBCPP_ENABLE_DEBUG_DEFAULT)dnl
974 dnl Option parsed, now set things appropriately
975 case "${enable_debug}" in
977 DEBUG_FLAGS='-O0 -ggdb3'
983 AC_SUBST(DEBUG_FLAGS)
988 dnl Check for "unusual" flags to pass to the compiler while building.
990 dnl GLIBCPP_ENABLE_CXX_FLAGS
991 dnl --enable-cxx-flags='-foo -bar -baz' is a general method for passing
992 dnl experimental flags such as -fhonor-std, -fsquangle, -Dfloat=char, etc.
993 dnl Somehow this same set of flags must be passed when [re]building
995 dnl --disable-cxx-flags passes nothing.
996 dnl + See http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00131.html
997 dnl http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00284.html
998 dnl http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00035.html
999 dnl + Usage: GLIBCPP_ENABLE_CXX_FLAGS(default flags)
1000 dnl If "default flags" is an empty string (or "none"), the effect is
1001 dnl the same as --disable or --enable=no.
1002 AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl
1003 define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
1004 AC_ARG_ENABLE(cxx-flags,
1005 changequote(<<, >>)dnl
1006 << --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
1007 [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
1008 changequote([, ])dnl
1009 [case "x$enableval" in
1011 AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
1013 enable_cxx_flags='' ;;
1015 enable_cxx_flags="$enableval" ;;
1017 enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT')
1019 dnl Thinko on my part during design. This kludge is the workaround.
1020 if test "$enable_cxx_flags" = "none"; then
1021 enable_cxx_flags='';
1024 dnl Run through flags (either default or command-line) and set anything
1025 dnl extra (e.g., #defines) that must accompany particular g++ options.
1026 if test -n "$enable_cxx_flags"; then
1027 for f in $enable_cxx_flags; do
1031 *) # and we're trying to pass /what/ exactly?
1032 AC_MSG_ERROR([compiler flags start with a -]) ;;
1036 EXTRA_CXX_FLAGS="$enable_cxx_flags"
1037 AC_SUBST(EXTRA_CXX_FLAGS)
1042 dnl Check for which locale library to use: gnu or generic.
1044 dnl GLIBCPP_ENABLE_CLOCALE
1045 dnl --enable-clocale=gnu sets config/c_locale_gnu.cc and friends
1046 dnl --enable-clocale=generic sets config/c_locale_generic.cc and friends
1048 dnl default is generic
1050 AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
1051 AC_MSG_CHECKING([for clocale to use])
1052 AC_ARG_ENABLE(clocale,
1053 [ --enable-clocale enable model for target locale package.
1054 --enable-clocale=MODEL use MODEL target-speific locale package. [default=generic]
1056 if test x$enable_clocale = xno; then
1057 enable_clocale=generic
1059 enable_clocale=generic)
1061 enable_clocale_flag=$enable_clocale
1063 dnl Check if a valid locale package
1064 case x${enable_clocale_flag} in
1066 CLOCALE_H=config/c_locale_gnu.h
1067 CLOCALE_CC=config/c_locale_gnu.cc
1071 CLOCALE_H=config/c_locale_generic.h
1072 CLOCALE_CC=config/c_locale_generic.cc
1073 AC_MSG_RESULT(generic)
1076 echo "$enable_clocale is an unknown locale package" 1>&2
1081 AC_LINK_FILES($CLOCALE_H, include/bits/c++locale.h)
1082 AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
1087 dnl Check for which I/O library to use: libio, or something specific.
1089 dnl GLIBCPP_ENABLE_CSTDIO
1090 dnl --enable-cstdio=libio sets config/c_io_libio.h and friends
1092 dnl default is stdio
1094 AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [
1095 AC_MSG_CHECKING([for cstdio to use])
1096 AC_ARG_ENABLE(cstdio,
1097 [ --enable-cstdio enable stdio for target io package.
1098 --enable-cstdio=LIB use LIB target-speific io package. [default=stdio]
1100 if test x$enable_cstdio = xno; then
1103 enable_cstdio=stdio)
1105 enable_cstdio_flag=$enable_cstdio
1107 dnl Check if a valid I/O package
1108 case x${enable_cstdio_flag} in
1110 CSTDIO_H=config/c_io_libio.h
1111 BASIC_FILE_H=config/basic_file_libio.h
1112 BASIC_FILE_CC=config/basic_file_libio.cc
1113 AC_MSG_RESULT(libio)
1115 # see if we are on a system with libio native (ie, linux)
1116 AC_CHECK_HEADER(libio.h, has_libio=yes, has_libio=no)
1118 # Need to check and see what version of glibc is being used. If
1119 # it's not glibc-2.2 or higher, then we'll need to go ahead and
1120 # compile most of libio for linux systems.
1121 if test x$has_libio = x"yes"; then
1124 AC_MSG_CHECKING([for glibc version >= 2.2])
1125 AC_EGREP_CPP([ok], [
1126 #include <features.h>
1127 #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
1130 ], glibc_satisfactory=yes, glibc_satisfactory=no)
1131 AC_MSG_RESULT($glibc_satisfactory)
1135 # XXX at the moment, admit defeat and force the recompilation
1136 # XXX of glibc even on glibc-2.2 systems, because libio is not synched.
1137 glibc_satisfactory=no
1139 if test x$glibc_satisfactory = x"yes"; then
1144 # bkoz XXX need to add checks to enable this
1145 # pme XXX here's a first pass at such a check
1146 if test x$enable_c_mbchar != xno; then
1154 # Using libio, but <libio.h> doesn't exist on the target system. . .
1156 # bkoz XXX need to add checks to enable this
1157 # pme XXX here's a first pass at such a check
1158 if test x$enable_c_mbchar != xno; then
1165 xstdio | x | xno | xnone | xyes)
1167 CSTDIO_H=config/c_io_stdio.h
1168 BASIC_FILE_H=config/basic_file_stdio.h
1169 BASIC_FILE_CC=config/basic_file_stdio.cc
1170 AC_MSG_RESULT(stdio)
1172 # We're not using stdio.
1177 echo "$enable_cstdio is an unknown io package" 1>&2
1181 AC_LINK_FILES($CSTDIO_H, include/bits/c++io.h)
1182 AC_LINK_FILES($BASIC_FILE_H, include/bits/basic_file_model.h)
1183 AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc)
1185 # 2000-08-04 bkoz hack
1186 CCODECVT_C=config/c_io_libio_codecvt.c
1187 AC_LINK_FILES($CCODECVT_C, libio/c_codecvt.c)
1188 # 2000-08-04 bkoz hack
1190 AM_CONDITIONAL(GLIBCPP_BUILD_LIBIO,
1191 test "$need_libio" = yes || test "$need_wlibio" = yes)
1192 AM_CONDITIONAL(GLIBCPP_NEED_LIBIO, test "$need_libio" = yes)
1193 AM_CONDITIONAL(GLIBCPP_NEED_WLIBIO, test "$need_wlibio" = yes)
1194 if test "$need_libio" = yes || test "$need_wlibio" = yes; then
1195 libio_la=../libio/libio.la
1204 dnl Check for which threading library to use.
1206 dnl GLIBCPP_ENABLE_THREADS
1207 dnl --enable-threads=posix sets config/threads-posix.h et. al.
1209 dnl Default is no threads, which also disables _IO_MTSAFE_IO in
1210 dnl libio. Any actual thread package will enable it.
1212 AC_DEFUN(GLIBCPP_ENABLE_THREADS, [
1213 dnl Note this comes from the gcc/config.in and libjava/config.in
1214 dnl Efforts should be made to keep this in sync.
1215 AC_MSG_CHECKING([for threads package to use])
1216 AC_ARG_ENABLE(threads,
1217 [ --enable-threads enable thread usage for target GCC.
1218 --enable-threads=LIB use LIB thread package for target GCC. [default=no]
1220 if test x$enable_threads = xno; then
1225 enable_threads_flag=$enable_threads
1227 dnl Check if a valid thread package
1228 case x${enable_threads_flag} in
1231 target_thread_file='single'
1235 target_thread_file='posix'
1237 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
1238 xsolaris | xwin32 | xdce | xvxworks)
1239 target_thread_file=$enable_threads_flag
1242 echo "$enable_threads is an unknown thread package" 1>&2
1247 dnl Check for thread package actually supported in libstdc++
1249 case "$target_thread_file" in
1251 THREADH=threads-no.h
1254 THREADH=threads-posix.h
1256 decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
1257 AC_MSG_ERROR(thread package $THREADS not yet supported)
1260 AC_MSG_ERROR($THREADS is an unsupported/unknown thread package)
1263 AC_MSG_RESULT($THREADH)
1265 AC_LINK_FILES(config/$THREADH, include/bits/c++threads.h)
1266 if test $THREADH != threads-no.h; then
1267 AC_DEFINE(_GLIBCPP_USE_THREADS)
1273 dnl Check for template specializations for the 'long long' type extension.
1275 dnl GLIBCPP_ENABLE_LONG_LONG
1276 dnl --enable-long-long defines _GLIBCPP_USE_LONG_LONG
1277 dnl --disable-long-long leaves _GLIBCPP_USE_LONG_LONG undefined
1278 dnl + Usage: GLIBCPP_ENABLE_LONG_LONG[(DEFAULT)]
1279 dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
1280 dnl defaults to `no'.
1281 dnl + If 'long long' stuff is not available, ignores DEFAULT and sets `no'.
1283 dnl GLIBCPP_ENABLE_LONG_LONG
1284 AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl
1285 define([GLIBCPP_ENABLE_LONG_LONG_DEFAULT], ifelse($1, yes, yes, no))dnl
1287 AC_ARG_ENABLE(long-long,
1288 changequote(<<, >>)dnl
1289 <<--enable-long-long turns on 'long long' [default=>>GLIBCPP_ENABLE_LONG_LONG_DEFAULT],
1290 changequote([, ])dnl
1291 [case "$enableval" in
1292 yes) enable_long_long=yes ;;
1293 no) enable_long_long=no ;;
1294 *) AC_MSG_ERROR([Unknown argument to enable/disable long long]) ;;
1296 enable_long_long=GLIBCPP_ENABLE_LONG_LONG_DEFAULT)dnl
1298 # Allow use of os-dependent settings, so that macros that turn on
1299 # C99 capabilities can be defined and used in a consistent way.
1300 OS_INC_PATH=${srcdir}/$os_include_dir
1301 ac_test_CFLAGS="${CFLAGS+set}"
1302 ac_save_CFLAGS="$CFLAGS"
1303 CFLAGS="-I$OS_INC_PATH"
1305 # Check for the existence of functions used if long long is enabled.
1306 AC_CHECK_FUNC(strtoll,,ac_strtoll=no)
1307 AC_CHECK_FUNC(strtoull,,ac_strtoull=no)
1309 # Check for lldiv_t, et. al.
1310 AC_MSG_CHECKING([for lldiv_t declaration])
1311 AC_CACHE_VAL(glibcpp_lldiv_t_use, [
1312 AC_TRY_COMPILE([#include <bits/os_defines.h>
1313 #include <stdlib.h>],
1315 [glibcpp_lldiv_t_use=yes], [glibcpp_lldiv_t_use=no])
1317 AC_MSG_RESULT($glibcpp_lldiv_t_use)
1318 if test x$glibcpp_lldiv_t_use = x"yes"; then
1319 AC_DEFINE(HAVE_LLDIV_T)
1322 AC_MSG_CHECKING([for enabled long long])
1323 if test x"$ac_strtoll" = xno || test x"$ac_strtoull" = xno; then
1324 enable_long_long=no;
1326 AC_MSG_RESULT($enable_long_long)
1328 # Option parsed, now set things appropriately
1329 if test x"$enable_long_long" = xyes; then
1330 AC_DEFINE(_GLIBCPP_USE_LONG_LONG)
1334 CFLAGS="$ac_save_CFLAGS"
1339 dnl Check for what kind of C headers to use.
1341 dnl GLIBCPP_ENABLE_CHEADERS
1342 dnl --enable-cheaders= [does stuff].
1343 dnl --disable-cheaders [does not do anything, really].
1344 dnl + This will eventually need to be 'c_shadow' by default.
1345 dnl + Usage: GLIBCPP_ENABLE_CHEADERS[(DEFAULT)]
1346 dnl Where DEFAULT is either `c' or `c_std' or 'c_shadow'.
1347 dnl If ommitted, it defaults to `c_std'.
1348 AC_DEFUN(GLIBCPP_ENABLE_CHEADERS, [dnl
1349 define([GLIBCPP_ENABLE_CHEADERS_DEFAULT], ifelse($1, c_std, c_std, c_std))dnl
1350 AC_MSG_CHECKING([for c header strategy to use])
1351 AC_ARG_ENABLE(cheaders,
1352 changequote(<<, >>)dnl
1353 << --enable-cheaders construct "C" header files for
1354 g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT],
1356 [case "$enableval" in
1361 enable_cheaders=c_std
1364 enable_cheaders=c_shadow
1366 *) AC_MSG_ERROR([Unknown argument to enable/disable "C" headers])
1369 enable_cheaders=GLIBCPP_ENABLE_CHEADERS_DEFAULT)
1370 AC_MSG_RESULT($enable_cheaders)
1372 dnl Option parsed, now set things appropriately
1373 case "$enable_cheaders" in
1375 CSHADOW_FLAGS="-fno-builtin"
1376 C_INCLUDE_DIR='${top_srcdir}/include/c_shadow'
1377 AC_DEFINE(_GLIBCPP_USE_SHADOW_HEADERS)
1381 C_INCLUDE_DIR='${top_srcdir}/include/c_std'
1385 C_INCLUDE_DIR='${top_srcdir}/include/c'
1389 AC_SUBST(CSHADOW_FLAGS)
1390 AC_SUBST(C_INCLUDE_DIR)
1391 AM_CONDITIONAL(GLIBCPP_USE_CSHADOW, test "$enable_cheaders" = c_shadow)
1396 dnl Check for wide character support. Has the same effect as the option
1397 dnl in gcc's configure, but in a form that autoconf can mess with.
1399 dnl GLIBCPP_ENABLE_C_MBCHAR
1400 dnl --enable-c-mbchar requests all the wchar_t stuff.
1401 dnl --disable-c-mbchar doesn't.
1402 dnl + Usage: GLIBCPP_ENABLE_C_MBCHAR[(DEFAULT)]
1403 dnl Where DEFAULT is either `yes' or `no'. If ommitted, it
1404 dnl defaults to `no'.
1405 AC_DEFUN(GLIBCPP_ENABLE_C_MBCHAR, [dnl
1406 define([GLIBCPP_ENABLE_C_MBCHAR_DEFAULT], ifelse($1, yes, yes, no))dnl
1407 AC_ARG_ENABLE(c-mbchar,
1408 changequote(<<, >>)dnl
1409 << --enable-c-mbchar enable multibyte (wide) characters [default=>>GLIBCPP_ENABLE_C_MBCHAR_DEFAULT],
1410 changequote([, ])dnl
1411 [case "$enableval" in
1412 yes) enable_c_mbchar=yes ;;
1413 no) enable_c_mbchar=no ;;
1414 *) AC_MSG_ERROR([Unknown argument to enable/disable c-mbchar]) ;;
1416 enable_c_mbchar=GLIBCPP_ENABLE_C_MBCHAR_DEFAULT)dnl
1417 dnl Option parsed, now other scripts can test enable_c_mbchar for yes/no.
1422 dnl Set up *_INCLUDES and *_INCLUDE_DIR variables for all sundry Makefile.am's.
1424 dnl GLIBCPP_INCLUDE_DIR
1426 dnl TOPLEVEL_INCLUDES
1427 dnl LIBMATH_INCLUDES
1428 dnl LIBSUPCXX_INCLUDES
1430 dnl CSHADOW_INCLUDES
1432 dnl GLIBCPP_EXPORT_INCLUDE
1433 AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [
1434 # Root level of the include sources.
1435 GLIBCPP_INCLUDE_DIR='$(top_srcdir)/include'
1437 # Can either use include/c or include/c_std to grab "C" headers. This
1438 # variable is set to the include directory currently in use.
1439 # set with C_INCLUDE_DIR in GLIBCPP_ENABLE_CHEADERS
1441 # Passed down for canadian crosses.
1442 if test x"$CANADIAN" = xyes; then
1443 TOPLEVEL_INCLUDES='-I$(includedir)'
1446 LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
1448 LIBSUPCXX_INCLUDES='-I$(top_srcdir)/libsupc++'
1450 #if GLIBCPP_NEED_LIBIO
1451 LIBIO_INCLUDES='-I$(top_builddir)/libio -I$(top_srcdir)/libio'
1453 #LIBIO_INCLUDES='-I$(top_srcdir)/libio'
1456 #if GLIBCPP_USE_CSHADOW
1457 # CSHADOW_INCLUDES='-I$(GLIBCPP_INCLUDE_DIR)/std -I$(C_INCLUDE_DIR) \
1458 # -I$(top_blddir)/cshadow'
1460 CSTD_INCLUDES='-I$(GLIBCPP_INCLUDE_DIR)/std -I$(C_INCLUDE_DIR)'
1463 # Now, export this to all the little Makefiles....
1464 AC_SUBST(GLIBCPP_INCLUDE_DIR)
1465 AC_SUBST(TOPLEVEL_INCLUDES)
1466 AC_SUBST(LIBMATH_INCLUDES)
1467 AC_SUBST(LIBSUPCXX_INCLUDES)
1468 AC_SUBST(LIBIO_INCLUDES)
1469 AC_SUBST(CSTD_INCLUDES)
1474 dnl Set up *_FLAGS and *FLAGS variables for all sundry Makefile.am's.
1476 AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [
1477 # Optimization flags that are probably a good idea for thrill-seekers. Just
1478 # uncomment the lines below and make, everything else is ready to go...
1479 # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc
1481 AC_SUBST(OPTIMIZE_CXXFLAGS)
1483 WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline'
1484 AC_SUBST(WARN_FLAGS)
1488 dnl GLIBCPP_EXPORT_INSTALL_INFO
1489 dnl calculates gxx_install_dir
1490 dnl exports glibcpp_toolexecdir
1491 dnl exports glibcpp_toolexeclibdir
1493 dnl Assumes cross_compiling bits already done, and with_cross_host in
1496 dnl GLIBCPP_EXPORT_INSTALL_INFO
1497 AC_DEFUN(GLIBCPP_EXPORT_INSTALL_INFO, [
1499 glibcpp_toolexecdir=no
1500 glibcpp_toolexeclibdir=no
1502 AC_MSG_CHECKING([for interface version number])
1503 libstdcxx_interface=$INTERFACE
1504 AC_MSG_RESULT($libstdcxx_interface)
1506 # Process the option --with-gxx-include-dir=<path to include-files directory>
1507 AC_MSG_CHECKING([for --with-gxx-include-dir])
1508 AC_ARG_WITH(gxx-include-dir,
1509 [ --with-gxx-include-dir the installation directory for include files],
1510 [case "${withval}" in
1512 AC_MSG_ERROR(Missing directory for --with-gxx-include-dir)
1519 gxx_include_dir=${withval}
1521 esac], [gxx_include_dir=no])
1522 AC_MSG_RESULT($gxx_include_dir)
1524 # Process the option "--enable-version-specific-runtime-libs"
1525 AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
1526 AC_ARG_ENABLE(version-specific-runtime-libs,
1527 [ --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory ],
1528 [ version_specific_libs=yes
1529 # Need the gcc compiler version to know where to install libraries
1530 # and header files if --enable-version-specific-runtime-libs option
1533 gcc_version_trigger=${srcdir}/../gcc/version.c
1534 gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
1535 gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
1536 gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/'${gcc_version}/include/g++
1537 glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
1538 glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version}
1540 ],version_specific_libs=no)
1541 AC_MSG_RESULT($version_specific_libs)
1543 # Default case for install directory for include files.
1544 if test x"$version_specific_libs" = x"no" \
1545 && test x"$gxx_include_dir" = x"no"; then
1546 gxx_include_dir='$(prefix)'/include/g++-${libstdcxx_interface}
1549 # Calculate glibcpp_toolexecdir, glibcpp_toolexeclibdir
1550 # Install a library built with a cross compiler in tooldir, not libdir.
1551 if test x"$glibcpp_toolexecdir" = x"no"; then
1552 if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then
1553 glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
1554 glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
1556 glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
1557 glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
1561 AC_MSG_CHECKING([for install location])
1562 AC_MSG_RESULT($gxx_include_dir)
1564 AC_SUBST(gxx_include_dir)
1565 AC_SUBST(glibcpp_toolexecdir)
1566 AC_SUBST(glibcpp_toolexeclibdir)
1570 # Check whether LC_MESSAGES is available in <locale.h>.
1571 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1573 # This file file be copied and used freely without restrictions. It can
1574 # be used in projects which are not available under the GNU Public License
1575 # but which still want to provide support for the GNU gettext functionality.
1576 # Please note that the actual code is *not* freely available.
1580 AC_DEFUN(AC_LC_MESSAGES, [
1581 AC_CHECK_HEADER(locale.h, [
1582 AC_CACHE_CHECK([for LC_MESSAGES], ac_cv_val_LC_MESSAGES,
1583 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1584 ac_cv_val_LC_MESSAGES=yes, ac_cv_val_LC_MESSAGES=no)])
1585 if test $ac_cv_val_LC_MESSAGES = yes; then
1586 AC_DEFINE(HAVE_LC_MESSAGES)
1592 # Check for functions in math library.
1593 # Ulrich Drepper <drepper@cygnus.com>, 1998.
1595 # This file can be copied and used freely without restrictions. It can
1596 # be used in projects which are not available under the GNU Public License
1597 # but which still want to provide support for the GNU gettext functionality.
1598 # Please note that the actual code is *not* freely available.
1602 dnl AC_REPLACE_MATHFUNCS(FUNCTION...)
1603 AC_DEFUN(AC_REPLACE_MATHFUNCS,
1604 [AC_CHECK_FUNCS([$1], , [LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"])
1605 AC_SUBST(LIBMATHOBJS)dnl
1609 # Check for string functions.
1610 # Ulrich Drepper <drepper@cygnus.com>, 1998.
1612 # This file can be copied and used freely without restrictions. It can
1613 # be used in projects which are not available under the GNU Public License
1614 # but which still want to provide support for the GNU gettext functionality.
1615 # Please note that the actual code is *not* freely available.
1619 dnl AC_REPLACE_STRINGFUNCS(FUNCTION...)
1620 AC_DEFUN(AC_REPLACE_STRINGFUNCS,
1621 [AC_CHECK_FUNCS([$1], , [LIBSTRINGOBJS="$LIBSTRINGOBJS ${ac_func}.lo"])
1622 AC_SUBST(LIBSTRINGOBJS)dnl
1626 dnl This macro searches for a GNU version of make. If a match is found, the
1627 dnl makefile variable `ifGNUmake' is set to the empty string, otherwise it is
1628 dnl set to "#". This is useful for including a special features in a Makefile,
1629 dnl which cannot be handled by other versions of make. The variable
1630 dnl _cv_gnu_make_command is set to the command to invoke GNU make if it exists,
1631 dnl the empty string otherwise.
1633 dnl Here is an example of its use:
1635 dnl Makefile.in might contain:
1637 dnl # A failsafe way of putting a dependency rule into a makefile
1639 dnl $(CC) -MM $(srcdir)/*.c > $(DEPEND)
1641 dnl @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND)))
1642 dnl @ifGNUmake@ include $(DEPEND)
1643 dnl @ifGNUmake@ endif
1645 dnl Then configure.in would normally contain:
1647 dnl CHECK_GNU_MAKE()
1648 dnl AC_OUTPUT(Makefile)
1650 dnl Then perhaps to cause gnu make to override any other make, we could do
1651 dnl something like this (note that GNU make always looks for GNUmakefile first):
1653 dnl if ! test x$_cv_gnu_make_command = x ; then
1654 dnl mv Makefile GNUmakefile
1655 dnl echo .DEFAULT: > Makefile ;
1656 dnl echo \ $_cv_gnu_make_command \$@ >> Makefile;
1659 dnl Then, if any (well almost any) other make is called, and GNU make also
1660 dnl exists, then the other make wraps the GNU make.
1662 dnl @author John Darrington <j.darrington@elvis.murdoch.edu.au>
1663 dnl @version 1.1 #### replaced Id string now that Id is for lib-v3; pme
1665 dnl #### Changes for libstdc++-v3: reformatting and linewrapping; prepending
1666 dnl #### GLIBCPP_ to the macro name; adding the :-make fallback in the
1667 dnl #### conditional's subshell (" --version" is not a command), using a
1668 dnl #### different option to grep(1).
1670 dnl #### Fixed Bourne shell portability bug (use ${MAKE-make}, not
1671 dnl #### ${MAKE:-make}).
1674 GLIBCPP_CHECK_GNU_MAKE, [AC_CACHE_CHECK( for GNU make,_cv_gnu_make_command,
1675 _cv_gnu_make_command='' ;
1676 dnl Search all the common names for GNU make
1677 for a in "${MAKE-make}" make gmake gnumake ; do
1678 if ( $a --version 2> /dev/null | grep -c GNU > /dev/null )
1680 _cv_gnu_make_command=$a ;
1685 dnl If there was a GNU version, then set @ifGNUmake@ to the empty
1686 dnl string, '#' otherwise
1687 if test "x$_cv_gnu_make_command" != "x" ; then
1695 sinclude(../libtool.m4)
1696 dnl The lines below arrange for aclocal not to bring an installed
1697 dnl libtool.m4 into aclocal.m4, while still arranging for automake to
1698 dnl add a definition of LIBTOOL to Makefile.in.
1699 ifelse(,,,[AC_SUBST(LIBTOOL)
1700 AC_DEFUN([AM_PROG_LIBTOOL])
1701 AC_DEFUN([AC_LIBTOOL_DLOPEN])
1702 AC_DEFUN([AC_PROG_LD])
1706 # Do all the work for Automake. This macro actually does too much --
1707 # some checks are only needed if your package does certain things.
1708 # But this isn't really a big deal.
1713 dnl AM_INIT_AUTOMAKE(package,version, [no-define])
1715 AC_DEFUN(AM_INIT_AUTOMAKE,
1716 [AC_REQUIRE([AC_PROG_INSTALL])
1721 dnl test to see if srcdir already configured
1722 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
1723 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
1726 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
1727 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
1728 AC_REQUIRE([AM_SANITY_CHECK])
1729 AC_REQUIRE([AC_ARG_PROGRAM])
1730 dnl FIXME This is truly gross.
1731 missing_dir=`cd $ac_aux_dir && pwd`
1732 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
1733 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
1734 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
1735 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
1736 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
1737 AC_REQUIRE([AC_PROG_MAKE_SET])])
1740 # Check to make sure that the build environment is sane.
1743 AC_DEFUN(AM_SANITY_CHECK,
1744 [AC_MSG_CHECKING([whether build environment is sane])
1747 echo timestamp > conftestfile
1748 # Do `set' in a subshell so we don't clobber the current shell's
1749 # arguments. Must try -L first in case configure is actually a
1750 # symlink; some systems play weird games with the mod time of symlinks
1751 # (eg FreeBSD returns the mod time of the symlink's containing
1754 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
1755 if test "[$]*" = "X"; then
1757 set X `ls -t $srcdir/configure conftestfile`
1759 if test "[$]*" != "X $srcdir/configure conftestfile" \
1760 && test "[$]*" != "X conftestfile $srcdir/configure"; then
1762 # If neither matched, then we have a broken ls. This can happen
1763 # if, for instance, CONFIG_SHELL is bash and it inherits a
1764 # broken ls alias from the environment. This has actually
1765 # happened. Such a system could not be considered "sane".
1766 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
1767 alias in your environment])
1770 test "[$]2" = conftestfile
1776 AC_MSG_ERROR([newly created file is older than distributed files!
1777 Check your system clock])
1780 AC_MSG_RESULT(yes)])
1782 dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
1783 dnl The program must properly implement --version.
1784 AC_DEFUN(AM_MISSING_PROG,
1785 [AC_MSG_CHECKING(for working $2)
1786 # Run test in a subshell; some versions of sh will print an error if
1787 # an executable is not found, even if stderr is redirected.
1788 # Redirect stdin to placate older versions of autoconf. Sigh.
1789 if ($2 --version) < /dev/null > /dev/null 2>&1; then
1791 AC_MSG_RESULT(found)
1794 AC_MSG_RESULT(missing)
1798 # Add --enable-maintainer-mode option to configure.
1803 AC_DEFUN(AM_MAINTAINER_MODE,
1804 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
1805 dnl maintainer-mode is disabled by default
1806 AC_ARG_ENABLE(maintainer-mode,
1807 [ --enable-maintainer-mode enable make rules and dependencies not useful
1808 (and sometimes confusing) to the casual installer],
1809 USE_MAINTAINER_MODE=$enableval,
1810 USE_MAINTAINER_MODE=no)
1811 AC_MSG_RESULT($USE_MAINTAINER_MODE)
1812 AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
1813 MAINT=$MAINTAINER_MODE_TRUE
1818 # Define a conditional.
1820 AC_DEFUN(AM_CONDITIONAL,
1831 # Like AC_CONFIG_HEADER, but automatically create stamp file.
1833 AC_DEFUN(AM_CONFIG_HEADER,
1835 AC_CONFIG_HEADER([$1])
1836 dnl When config.status generates a header, we must update the stamp-h file.
1837 dnl This file resides in the same directory as the config header
1838 dnl that is generated. We must strip everything past the first ":",
1839 dnl and everything past the last "/".
1840 AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
1841 ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
1842 <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
1844 for am_file in <<$1>>; do
1845 case " <<$>>CONFIG_HEADERS " in
1846 *" <<$>>am_file "*<<)>>
1847 echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
1850 am_indx=`expr "<<$>>am_indx" + 1`