X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libstdc%2B%2B-v3%2Facinclude.m4;h=a4e733fe3b65f7203dc3d6cd1b0bc0ec0416605e;hp=633b954ad4c68898272107cf7c83b95c1624411c;hb=5ece00cfd3929187ce2830d39077078bbe6193be;hpb=a106f8d6b707cc95a45e497b1c3712d8aefd8894 diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 633b954ad4c..a4e733fe3b6 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -1,8 +1,6 @@ dnl dnl Initialize configure bits. dnl -dnl Define OPTLEVEL='-O2' if new inlining code present. -dnl dnl GLIBCPP_CONFIGURE AC_DEFUN(GLIBCPP_CONFIGURE, [ dnl Default to --enable-multilib @@ -14,10 +12,10 @@ AC_DEFUN(GLIBCPP_CONFIGURE, [ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;; esac], [multilib=yes])dnl - glibcpp_basedir=$auxdir/$1/libstdc++-v3 + glibcpp_basedir=$srcdir/$toprel/$1/libstdc++-v3 AC_SUBST(glibcpp_basedir) - AM_INIT_AUTOMAKE(libstdc++, 2.91) + AM_INIT_AUTOMAKE(libstdc++, 3.0.0) # Never versions of autoconf add an underscore to these functions. # Prevent future problems ... @@ -117,10 +115,6 @@ LIB_AC_PROG_CXX AC_CHECK_TOOL(AS, as) AC_CHECK_TOOL(AR, ar) AC_CHECK_TOOL(RANLIB, ranlib, ranlib-not-found-in-path-error) - AC_CHECK_TOOL(glibcpp_expect, expect, expect-not-found-in-path-error) - AC_CHECK_TOOL(glibcpp_runtest, runtest, runtest-not-found-in-path-error) - AC_SUBST(glibcpp_expect) - AC_SUBST(glibcpp_runtest) AC_PROG_INSTALL AM_MAINTAINER_MODE @@ -133,6 +127,10 @@ LIB_AC_PROG_CXX # automake happy, but we dont execute it, since we dont care about # the result. if false; then + # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands + # to nothing, so nothing would remain between `then' and `fi' if it + # were not for the `:' below. + : AC_EXEEXT fi @@ -159,9 +157,9 @@ if test ! -f stamp-sanity-compiler; then AC_MSG_CHECKING([for g++ that will successfully compile libstdc++-v3]) AC_LANG_SAVE AC_LANG_CPLUSPLUS - AC_EGREP_CPP(ok, [ - #if __GNUC__ >= 3 - ok + AC_TRY_COMPILE(, [ + #if __GNUC__ < 3 + not_ok #endif ], gpp_satisfactory=yes, AC_MSG_ERROR([please upgrade to GCC 3.0 or above])) AC_LANG_RESTORE @@ -172,9 +170,9 @@ fi dnl -dnl Test for newer compiler features, or features that are present in newer -dnl compiler version but not older compiler versions should be placed -dnl here. +dnl Tests for newer compiler features, or features that are present in newer +dnl compiler versions but not older compiler versions still in use, should +dnl be placed here. dnl dnl Define WERROR='-Werror' if requested and possible; g++'s that lack the dnl new inlining code or the new system_header pragma will die on -Werror. @@ -186,7 +184,7 @@ dnl dnl GLIBCPP_CHECK_COMPILER_FEATURES AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [ # All these tests are for C++; save the language and the compiler flags. - # The CXXFLAGS thing is suspicious, but based on similar bits + # The CXXFLAGS thing is suspicious, but based on similar bits previously # found in GLIBCPP_CONFIGURE. AC_LANG_SAVE AC_LANG_CPLUSPLUS @@ -211,7 +209,8 @@ AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [ # this is the suspicious part CXXFLAGS='' fi - if test x"$ac_fdsections" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$ac_fdsections" = x"yes" && + test x"$enable_debug" = x"no"; then SECTION_FLAGS='-ffunction-sections -fdata-sections' fi AC_MSG_RESULT($ac_fdsections) @@ -278,7 +277,8 @@ AC_DEFUN(GLIBCPP_CHECK_LINKER_FEATURES, [ fi # Set linker optimization flags. - if test x"$ac_cv_prog_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$ac_cv_prog_gnu_ld" = x"yes" && + test x"$enable_debug" = x"no"; then OPT_LDFLAGS='-Wl,-O1' fi @@ -333,7 +333,7 @@ AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1, [ GLIBCPP_CHECK_MATH_DECL_1(_$1) if test x$glibcpp_cv_func__$1_use = x"yes"; then AC_CHECK_FUNCS(_$1) - fi + fi fi ]) @@ -362,7 +362,7 @@ AC_DEFUN(GLIBCPP_CHECK_MATH_DECLS_AND_LINKAGES_1, [ dnl dnl Check to see if the (math function) argument passed is dnl declared when using the c++ compiler -dnl ASSUMES argument is a math function with ONE parameter +dnl ASSUMES argument is a math function with TWO parameters dnl dnl GLIBCPP_CHECK_MATH_DECL_2 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_2, [ @@ -400,7 +400,7 @@ AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2, [ GLIBCPP_CHECK_MATH_DECL_2(_$1) if test x$glibcpp_cv_func__$1_use = x"yes"; then AC_CHECK_FUNCS(_$1) - fi + fi fi ]) @@ -408,7 +408,7 @@ AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2, [ dnl dnl Check to see if the (math function) argument passed is dnl declared when using the c++ compiler -dnl ASSUMES argument is a math function with ONE parameter +dnl ASSUMES argument is a math function with THREE parameters dnl dnl GLIBCPP_CHECK_MATH_DECL_3 AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_3, [ @@ -446,7 +446,7 @@ AC_DEFUN(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3, [ GLIBCPP_CHECK_MATH_DECL_3(_$1) if test x$glibcpp_cv_func__$1_use = x"yes"; then AC_CHECK_FUNCS(_$1) - fi + fi fi ]) @@ -608,7 +608,6 @@ AC_DEFUN(GLIBCPP_CHECK_STDLIB_SUPPORT, [ ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS='-fno-builtins -D_GNU_SOURCE' - AC_CHECK_FUNCS(strtof) GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold) AC_CHECK_FUNCS(drand48) @@ -742,8 +741,8 @@ AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [ dnl Currently this includes copysignl and atan2l, which should be dnl cached from the GLIBCPP_CHECK_MATH_SUPPORT macro, above. USE_COMPLEX_LONG_DOUBLE=no - if test x$ac_cv_func_atan2l = x"yes" \ - && test x$ac_cv_func_copysignl = x"yes"; then + if test x$ac_cv_func_atan2l = x"yes" && + test x$ac_cv_func_copysignl = x"yes"; then USE_COMPLEX_LONG_DOUBLE=yes AC_REPLACE_MATHFUNCS(hypotl signbitl) fi @@ -792,8 +791,9 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ AC_CHECK_HEADER(wctype.h, ac_has_wctype_h=yes, ac_has_wctype_h=no) dnl Only continue checking if the ISO C99 headers exist and support is on. - if test x"$ac_has_wchar_h" = xyes && test x"$ac_has_wctype_h" = xyes \ - && test x"$enable_c_mbchar" != xno; then + if test x"$ac_has_wchar_h" = xyes && + test x"$ac_has_wctype_h" = xyes && + test x"$enable_c_mbchar" != xno; then dnl Test wchar.h for WCHAR_MIN, WCHAR_MAX, which is needed before dnl numeric_limits can instantiate type_traits @@ -814,12 +814,23 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ AC_MSG_RESULT($has_weof) dnl Tests for wide character functions used in char_traits. - AC_CHECK_FUNCS(wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset \ - wcsrtombs mbsrtowcs, ac_wfuncs=yes, ac_wfuncs=no) + ac_wfuncs=yes + AC_CHECK_FUNCS(wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset,, \ + ac_wfuncs=no) + dnl Checks for names injected into std:: by the c_std headers. + AC_CHECK_FUNCS(btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ + vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ + mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ + wcstoul wcscpy wcsncpy wcscat wcsncat wcscmp wcscoll wcsncmp wcsxfrm \ + wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr,, \ + ac_wfuncs=no) + AC_MSG_CHECKING([for ISO C99 wchar_t support]) - if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes \ - && test x"$ac_wfuncs" = xyes; then + if test x"$has_weof" = xyes && + test x"$has_wchar_minmax" = xyes && + test x"$ac_wfuncs" = xyes; then ac_isoC99_wchar_t=yes else ac_isoC99_wchar_t=no @@ -842,8 +853,9 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ LIBS="$ac_save_LIBS" AC_MSG_CHECKING([for XPG2 wchar_t support]) - if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes \ - && test x"$ac_XPG2funcs" = xyes; then + if test x"$ac_has_iconv_h" = xyes && + test x"$ac_has_langinfo_h" = xyes && + test x"$ac_XPG2funcs" = xyes; then ac_XPG2_wchar_t=yes else ac_XPG2_wchar_t=no @@ -853,8 +865,8 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ dnl At the moment, only enable wchar_t specializations if all the dnl above support is present. AC_MSG_CHECKING([for enabled wchar_t specializations]) - if test x"$ac_isoC99_wchar_t" = xyes \ - && test x"$ac_XPG2_wchar_t" = xyes; then + if test x"$ac_isoC99_wchar_t" = xyes && + test x"$ac_XPG2_wchar_t" = xyes; then AC_DEFINE(_GLIBCPP_USE_WCHAR_T) AC_MSG_RESULT("yes") else @@ -868,75 +880,6 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ dnl -dnl Check to see if this version of GNU C++ is afflicted by bugs in -dnl __complex__ float support. -dnl -dnl Define _GLIBCPP_BUGGY_FLOAT_COMPLEX if buggy. -dnl -dnl Check to see if this version of GNU C++ is afflicted by bugs in -dnl __complex__ support.Check for buggy __complex__ that will cause ICE in -dnl gcc-2.95.x when using the library, unless we define the default copy -dnl ctor in the specializations of complex<>. -dnl -dnl Define _GLIBCPP_BUGGY_COMPLEX if buggy. -dnl GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT -AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT, [ - AC_REQUIRE([AC_PROG_CXX]) - - AC_MSG_CHECKING([for GNU C++ __complex__ support]) - AC_CACHE_VAL(glibcpp_cv_complex, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE([struct dcomplex { __complex__ double x; }; \ - dcomplex f(const dcomplex& x) { return dcomplex(x); }], \ - [ dcomplex x; f(x); ], - glibcpp_cv_complex=ok, - glibcpp_cv_complex=buggy - ) - AC_LANG_RESTORE - ]) - AC_MSG_RESULT($glibcpp_cv_complex) - if test $glibcpp_cv_complex = buggy; then - AC_DEFINE(_GLIBCPP_BUGGY_COMPLEX) - fi - - AC_MSG_CHECKING([for GNU C++ __complex__ float support]) - AC_CACHE_VAL(glibcpp_cv_float_complex, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - rm -f conftest.h - cat > conftest.h <-in +dnl and process to with an output command. The reason for a two- +dnl stage process here is to correctly handle $srcdir!=$objdir without +dnl having to write complex code (the sed commands to clean the macro +dnl namespace are complex and fragile enough as it is). We must also +dnl add a relative path so that -I- is supported properly. dnl AC_DEFUN(GLIBCPP_ENABLE_THREADS, [ - dnl Note this comes from the gcc/config.in and libjava/config.in - dnl Efforts should be made to keep this in sync. - AC_MSG_CHECKING([for threads package to use]) - AC_ARG_ENABLE(threads, - [ --enable-threads enable thread usage for target GCC. - --enable-threads=LIB use LIB thread package for target GCC. [default=no] - ], - if test x$enable_threads = xno; then - enable_threads='' - fi, - enable_threads='') - - enable_threads_flag=$enable_threads - - dnl Check if a valid thread package - case x${enable_threads_flag} in - x | xno | xnone) - # No threads - target_thread_file='single' - ;; - xyes) - # default - target_thread_file='posix' - ;; - xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \ - xsolaris | xwin32 | xdce | xvxworks) - target_thread_file=$enable_threads_flag - ;; - *) - echo "$enable_threads is an unknown thread package" 1>&2 - exit 1 - ;; - esac - - dnl Check for thread package actually supported in libstdc++ - THREADH= - case "$target_thread_file" in - no | none | single) - THREADH=threads-no.h - ;; - posix | pthreads) - THREADH=threads-posix.h - ;; - decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks) - AC_MSG_ERROR(thread package $THREADS not yet supported) - ;; - *) - AC_MSG_ERROR($THREADS is an unsupported/unknown thread package) - ;; - esac - AC_MSG_RESULT($THREADH) - - AC_LINK_FILES(config/$THREADH, include/bits/c++threads.h) - if test $THREADH != threads-no.h; then - AC_DEFINE(_GLIBCPP_USE_THREADS) + AC_MSG_CHECKING([for thread model used by GCC]) + target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` + AC_MSG_RESULT([$target_thread_file]) + + AC_LINK_FILES($toprel/gcc/gthr.h, include/bits/gthr.h-in) + AC_LINK_FILES($toprel/gcc/gthr-single.h, + include/bits/gthr-single.h-in) + AC_LINK_FILES($toprel/gcc/gthr-$target_thread_file.h, + include/bits/gthr-default.h-in) + if test $target_thread_file != single; then + AC_DEFINE(HAVE_GTHR_DEFAULT) + AC_DEFINE(_GLIBCPP_SUPPORTS_WEAK, __GXX_WEAK__) fi + AC_OUTPUT_COMMANDS([d=include/bits + rm -f $d/gthr.h $d/gthr-single.h $d/gthr-default.h + sed '/^#/s/\([A-Z_][A-Z_]*\)/_GLIBCPP_\1/g' <$d/gthr.h-in \ + | sed 's,"gthr-,"bits/gthr-,' >$d/gthr.h + sed 's/\(UNUSED\)/_GLIBCPP_\1/g' <$d/gthr-single.h-in \ + | sed 's/\(GCC[A-Z_]*_H\)/_GLIBCPP_\1/g' >$d/gthr-single.h + sed 's/\(UNUSED\)/_GLIBCPP_\1/g' <$d/gthr-default.h-in \ + | sed 's/\(GCC[A-Z_]*_H\)/_GLIBCPP_\1/g' \ + | sed 's/\([A-Z_]*WEAK\)/_GLIBCPP_\1/g' >$d/gthr-default.h]) ]) @@ -1307,7 +1219,7 @@ EOF rm -f conftest*]) if test x$enable_sjlj_exceptions = xyes; then AC_DEFINE(_GLIBCPP_SJLJ_EXCEPTIONS, 1, - [Define if the compiler is configured for setjmp/longjmp exceptions.]) + [Define if the compiler is configured for setjmp/longjmp exceptions.]) ac_exception_model_name=sjlj elif test x$enable_sjlj_exceptions = xno; then ac_exception_model_name="call frame" @@ -1349,6 +1261,8 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl AC_LANG_CPLUSPLUS # Check for the existence of functions used if C99 is enabled. + ac_c99_math=yes; + AC_MSG_CHECKING([for ISO C99 support in ]) AC_TRY_COMPILE([#include ],[fpclassify(0.0);],, [ac_c99_math=no]) AC_TRY_COMPILE([#include ],[isfinite(0.0);],, [ac_c99_math=no]) AC_TRY_COMPILE([#include ],[isinf(0.0);],, [ac_c99_math=no]) @@ -1357,21 +1271,48 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl AC_TRY_COMPILE([#include ],[signbit(0.0);],, [ac_c99_math=no]) AC_TRY_COMPILE([#include ],[isgreater(0.0,0.0);],, [ac_c99_math=no]) AC_TRY_COMPILE([#include ], - [isgreaterequal(0.0,0.0);], , [ac_c99_math=no]) + [isgreaterequal(0.0,0.0);],, [ac_c99_math=no]) AC_TRY_COMPILE([#include ],[isless(0.0,0.0);],, [ac_c99_math=no]) AC_TRY_COMPILE([#include ],[islessequal(0.0,0.0);],,[ac_c99_math=no]) AC_TRY_COMPILE([#include ], - [islessgreater(0.0,0.0);], , [ac_c99_math=no]) + [islessgreater(0.0,0.0);],, [ac_c99_math=no]) AC_TRY_COMPILE([#include ], - [isunordered(0.0,0.0);], , [ac_c99_math=no]) + [isunordered(0.0,0.0);],, [ac_c99_math=no]) + AC_MSG_RESULT($ac_c99_math) + + # Check for the existence in of vscanf, et. al. + ac_c99_stdio=yes; + AC_MSG_CHECKING([for ISO C99 support in ]) + AC_TRY_COMPILE([#include ], + [snprintf("12", 0, "%i");],, [ac_c99_stdio=no]) + AC_TRY_COMPILE([#include + #include + void foo(char* fmt, ...) + {va_list args; va_start(args, fmt); + vfscanf(stderr, "%i", args);}], + [],, [ac_c99_stdio=no]) + AC_TRY_COMPILE([#include + #include + void foo(char* fmt, ...) + {va_list args; va_start(args, fmt); + vscanf("%i", args);}], + [],, [ac_c99_stdio=no]) + AC_TRY_COMPILE([#include + #include + void foo(char* fmt, ...) + {va_list args; va_start(args, fmt); + vsnprintf(fmt, 0, "%i", args);}], + [],, [ac_c99_stdio=no]) + AC_TRY_COMPILE([#include + #include + void foo(char* fmt, ...) + {va_list args; va_start(args, fmt); + vsscanf(fmt, "%i", args);}], + [],, [ac_c99_stdio=no]) + AC_MSG_RESULT($ac_c99_stdio) # Check for the existence in of lldiv_t, et. al. - AC_CHECK_FUNC(strtoll,,ac_c99_stdlib=no) - AC_CHECK_FUNC(strtoull,,ac_c99_stdlib=no) - AC_CHECK_FUNC(llabs,,ac_c99_stdlib=no) - AC_CHECK_FUNC(lldiv,,ac_c99_stdlib=no) - AC_CHECK_FUNC(atoll,,ac_c99_stdlib=no) - + ac_c99_stdlib=yes; AC_MSG_CHECKING([for lldiv_t declaration]) AC_CACHE_VAL(ac_c99_lldiv_t, [ AC_TRY_COMPILE([#include ], @@ -1379,18 +1320,42 @@ AC_DEFUN(GLIBCPP_ENABLE_C99, [dnl [ac_c99_lldiv_t=yes], [ac_c99_lldiv_t=no]) ]) AC_MSG_RESULT($ac_c99_lldiv_t) + + AC_MSG_CHECKING([for ISO C99 support in ]) + AC_TRY_COMPILE([#include ], + [char* tmp; strtof("gnu", &tmp);],, [ac_c99_stdlib=no]) + AC_TRY_COMPILE([#include ], + [char* tmp; strtold("gnu", &tmp);],, [ac_c99_stdlib=no]) + AC_TRY_COMPILE([#include ], + [char* tmp; strtoll("gnu", &tmp, 10);],, [ac_c99_stdlib=no]) + AC_TRY_COMPILE([#include ], + [char* tmp; strtoull("gnu", &tmp, 10);],, [ac_c99_stdlib=no]) + AC_TRY_COMPILE([#include ], [llabs(10);],, [ac_c99_stdlib=no]) + AC_TRY_COMPILE([#include ], [lldiv(10,1);],, [ac_c99_stdlib=no]) + AC_TRY_COMPILE([#include ], [atoll("10");],, [ac_c99_stdlib=no]) + AC_TRY_COMPILE([#include ], [_Exit(0);],, [ac_c99_stdlib=no]) if test x"$ac_c99_lldiv_t" = x"no"; then ac_c99_stdlib=no; fi; + AC_MSG_RESULT($ac_c99_stdlib) # Check for the existence of functions used if C99 is enabled. - AC_CHECK_FUNC(wcstold,,ac_c99_wchar=no) - AC_CHECK_FUNC(wcstoll,,ac_c99_wchar=no) - AC_CHECK_FUNC(wcstoull,,ac_c99_wchar=no) + # XXX the wchar.h checks should be rolled into the general C99 bits. + ac_c99_wchar=yes; + AC_MSG_CHECKING([for additional ISO C99 support in ]) + AC_TRY_COMPILE([#include ], + [wcstold(L"10.0", NULL);],, [ac_c99_wchar=no]) + AC_TRY_COMPILE([#include ], + [wcstoll(L"10", NULL, 10);],, [ac_c99_wchar=no]) + AC_TRY_COMPILE([#include ], + [wcstoull(L"10", NULL, 10);],, [ac_c99_wchar=no]) + AC_MSG_RESULT($ac_c99_wchar) AC_MSG_CHECKING([for enabled ISO C99 support]) - if test x"$ac_c99_math" = x"no" || test x"$ac_c99_wchar" = x"no" \ - || test x"$ac_c99_stdlib" = x"no"; then + if test x"$ac_c99_math" = x"no" || + test x"$ac_c99_stdio" = x"no" || + test x"$ac_c99_stdlib" = x"no" || + test x"$ac_c99_wchar" = x"no"; then enable_c99=no; fi; AC_MSG_RESULT($enable_c99) @@ -1462,8 +1427,7 @@ define([GLIBCPP_ENABLE_CHEADERS_DEFAULT], ifelse($1, c_std, c_std, c_std))dnl AC_MSG_CHECKING([for c header strategy to use]) AC_ARG_ENABLE(cheaders, changequote(<<, >>)dnl -<< --enable-cheaders construct "C" header files for - g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT], +<< --enable-cheaders construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT], changequote([, ]) [case "$enableval" in c) @@ -1601,6 +1565,9 @@ dnl GLIBCPP_EXPORT_INSTALL_INFO dnl calculates gxx_install_dir dnl exports glibcpp_toolexecdir dnl exports glibcpp_toolexeclibdir +dnl exports glibcpp_builddir +dnl exports glibcpp_srcdir +dnl exports glibcpp_prefixdir dnl dnl Assumes cross_compiling bits already done, and with_cross_host in dnl particular @@ -1611,6 +1578,17 @@ AC_DEFUN(GLIBCPP_EXPORT_INSTALL_INFO, [ glibcpp_toolexecdir=no glibcpp_toolexeclibdir=no +# Export build and source directories. +# These need to be absolute paths, yet at the same time need to +# canonicalize only relative paths, because then amd will not unmount +# drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd. +glibcpp_builddir=`pwd` +case $srcdir in +[\\/$]* | ?:[\\/]*) glibcpp_srcdir=${srcdir} ;; +*) glibcpp_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;; +esac +glibcpp_prefixdir=${prefix} + AC_MSG_CHECKING([for interface version number]) libstdcxx_interface=$INTERFACE AC_MSG_RESULT($libstdcxx_interface) @@ -1618,7 +1596,7 @@ AC_MSG_RESULT($libstdcxx_interface) # Process the option --with-gxx-include-dir= AC_MSG_CHECKING([for --with-gxx-include-dir]) AC_ARG_WITH(gxx-include-dir, -[ --with-gxx-include-dir the installation directory for include files], +[ --with-gxx-include-dir the installation directory for include files], [case "${withval}" in yes) AC_MSG_ERROR(Missing directory for --with-gxx-include-dir) @@ -1647,7 +1625,7 @@ gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([ gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'` gxx_include_dir='$(libdir)/gcc-lib/$(target_alias)/'${gcc_version}/include/g++ glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)' -glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version} +glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version}'$(MULTISUBDIR)' changequote([,])dnl ],version_specific_libs=no) AC_MSG_RESULT($version_specific_libs) @@ -1661,7 +1639,8 @@ fi # Calculate glibcpp_toolexecdir, glibcpp_toolexeclibdir # Install a library built with a cross compiler in tooldir, not libdir. if test x"$glibcpp_toolexecdir" = x"no"; then - if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then + if test -n "$with_cross_host" && + test x"$with_cross_host" != x"no"; then glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)' glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)' else @@ -1673,6 +1652,9 @@ fi AC_MSG_CHECKING([for install location]) AC_MSG_RESULT($gxx_include_dir) +AC_SUBST(glibcpp_builddir) +AC_SUBST(glibcpp_srcdir) +AC_SUBST(glibcpp_prefixdir) AC_SUBST(gxx_include_dir) AC_SUBST(glibcpp_toolexecdir) AC_SUBST(glibcpp_toolexeclibdir)