X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fcrossconfig.m4;h=cbfc2d9804446e024a01af20784920d0576c56ff;hb=f1a634766aaec4defc7ef45cda41ed8c498ca313;hp=2da803892636fa354f62b450e48cb58fc59724c7;hpb=18e06a7a1eda0b192df9a3dc94418f349141a130;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4 index 2da80389263..cbfc2d98044 100644 --- a/libstdc++-v3/crossconfig.m4 +++ b/libstdc++-v3/crossconfig.m4 @@ -1,9 +1,14 @@ dnl -dnl This file contains stuff. +dnl This file contains details for non-native builds. dnl +AC_DEFUN([GLIBCXX_CROSSCONFIG],[ # Base decisions on target environment. case "${host}" in + arm*-*-symbianelf*) + # This is a freestanding configuration; there is nothing to do here. + ;; + *-darwin*) # Darwin versions vary, but the linker should work in a cross environment, # so we just check for all the features here. @@ -12,12 +17,10 @@ case "${host}" in machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \ sys/types.h]) - GLIBCXX_CHECK_COMPILER_FEATURES # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld GLIBCXX_CHECK_MATH_SUPPORT GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT - GLIBCXX_CHECK_WCHAR_T_SUPPORT GLIBCXX_CHECK_STDLIB_SUPPORT # For showmanyc_helper(). @@ -42,8 +45,45 @@ case "${host}" in AC_DEFINE(HAVE_MMAP) ;; + *djgpp) + AC_CHECK_HEADERS([float.h ieeefp.h inttypes.h locale.h \ + memory.h stdint.h stdlib.h strings.h string.h unistd.h \ + wchar.h wctype.h machine/endian.h sys/ioctl.h sys/param.h \ + sys/resource.h sys/stat.h sys/time.h sys/types.h sys/uio.h]) + # GLIBCXX_CHECK_MATH_SUPPORT + AC_DEFINE(HAVE_LIBM) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISNAN) + AC_DEFINE(HAVE_FINITE) + AC_DEFINE(HAVE_COPYSIGN) + AC_DEFINE(HAVE_SINCOS) + AC_DEFINE(HAVE_HYPOT) + # GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT + AC_DEFINE(HAVE___BUILTIN_ABS) + AC_DEFINE(HAVE___BUILTIN_FABSF) + AC_DEFINE(HAVE___BUILTIN_FABS) + AC_DEFINE(HAVE___BUILTIN_FABSL) + AC_DEFINE(HAVE___BUILTIN_LABS) + AC_DEFINE(HAVE___BUILTIN_SQRTF) + AC_DEFINE(HAVE___BUILTIN_SQRT) + AC_DEFINE(HAVE___BUILTIN_SQRTL) + AC_DEFINE(HAVE___BUILTIN_SINF) + AC_DEFINE(HAVE___BUILTIN_SIN) + AC_DEFINE(HAVE___BUILTIN_SINL) + AC_DEFINE(HAVE___BUILTIN_COSF) + AC_DEFINE(HAVE___BUILTIN_COS) + AC_DEFINE(HAVE___BUILTIN_COSL) + # GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT + # GLIBCXX_CHECK_STDLIB_SUPPORT + AC_DEFINE(HAVE_COPYSIGN) + AC_DEFINE(HAVE_COPYSIGNF) + # GLIBCXX_CHECK_S_ISREG_OR_S_IFREG + AC_DEFINE(HAVE_S_ISREG) + AC_DEFINE(HAVE_S_IFREG) + AC_DEFINE(HAVE_WRITEV) + ;; + *-freebsd*) - #os_include_dir="os/bsd/freebsd" AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ machine/endian.h machine/param.h sys/machine.h sys/types.h \ fp.h locale.h float.h inttypes.h sys/resource.h sys/stat.h \ @@ -52,9 +92,7 @@ case "${host}" in AC_SUBST(SECTION_FLAGS) GLIBCXX_CHECK_LINKER_FEATURES GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT - GLIBCXX_CHECK_WCHAR_T_SUPPORT AC_DEFINE(HAVE_LC_MESSAGES) - AC_DEFINE(HAVE_LRAND48) AC_DEFINE(HAVE_GETPAGESIZE) AC_DEFINE(HAVE_SETENV) AC_DEFINE(HAVE_SIGSETJMP) @@ -101,7 +139,6 @@ case "${host}" in fi ;; *-hpux*) - #os_include_dir="os/hpux" AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ machine/endian.h machine/param.h sys/machine.h sys/types.h \ fp.h locale.h float.h inttypes.h]) @@ -109,7 +146,6 @@ case "${host}" in AC_SUBST(SECTION_FLAGS) GLIBCXX_CHECK_LINKER_FEATURES GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT - GLIBCXX_CHECK_WCHAR_T_SUPPORT AC_DEFINE(HAVE_COPYSIGN) AC_DEFINE(HAVE_COPYSIGNF) AC_DEFINE(HAVE_FREXPF) @@ -125,44 +161,38 @@ case "${host}" in ;; esac ;; - *-linux*) - #os_include_dir="os/gnu-linux" + *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu) AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ machine/endian.h machine/param.h sys/machine.h sys/types.h \ - fp.h locale.h float.h inttypes.h]) + fp.h float.h endian.h inttypes.h locale.h float.h stdint.h]) SECTION_FLAGS='-ffunction-sections -fdata-sections' AC_SUBST(SECTION_FLAGS) + GLIBCXX_CHECK_COMPILER_FEATURES GLIBCXX_CHECK_LINKER_FEATURES + GLIBCXX_CHECK_MATH_SUPPORT + GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT - GLIBCXX_CHECK_WCHAR_T_SUPPORT - AC_DEFINE(HAVE_COPYSIGN) - AC_DEFINE(HAVE_COPYSIGNF) - AC_DEFINE(HAVE_FINITE) - AC_DEFINE(HAVE_FINITEF) - AC_DEFINE(HAVE_FREXPF) - AC_DEFINE(HAVE_HYPOTF) - AC_DEFINE(HAVE_ISINF) - AC_DEFINE(HAVE_ISINFF) - AC_DEFINE(HAVE_ISNAN) - AC_DEFINE(HAVE_ISNANF) - AC_DEFINE(HAVE_SINCOS) - AC_DEFINE(HAVE_SINCOSF) - if test x"long_double_math_on_this_cpu" = x"yes"; then - AC_DEFINE(HAVE_FINITEL) - AC_DEFINE(HAVE_HYPOTL) - AC_DEFINE(HAVE_ISINFL) - AC_DEFINE(HAVE_ISNANL) - fi + GLIBCXX_CHECK_STDLIB_SUPPORT + + # For LFS. + AC_DEFINE(HAVE_INT64_T) + GLIBCXX_CHECK_LFS + + # For showmanyc_helper(). + AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h) + GLIBCXX_CHECK_POLL + GLIBCXX_CHECK_S_ISREG_OR_S_IFREG + + # For xsputn_2(). + AC_CHECK_HEADERS(sys/uio.h) + GLIBCXX_CHECK_WRITEV ;; *-mingw32*) - #os_include_dir="os/mingw32" AC_CHECK_HEADERS([sys/types.h locale.h float.h]) GLIBCXX_CHECK_LINKER_FEATURES GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT - GLIBCXX_CHECK_WCHAR_T_SUPPORT ;; *-netbsd*) - #os_include_dir="os/bsd/netbsd" AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ machine/endian.h machine/param.h sys/machine.h sys/types.h \ fp.h locale.h float.h inttypes.h]) @@ -170,7 +200,6 @@ case "${host}" in AC_SUBST(SECTION_FLAGS) GLIBCXX_CHECK_LINKER_FEATURES GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT - GLIBCXX_CHECK_WCHAR_T_SUPPORT AC_DEFINE(HAVE_COPYSIGN) AC_DEFINE(HAVE_COPYSIGNF) AC_DEFINE(HAVE_FINITEF) @@ -187,13 +216,31 @@ case "${host}" in AC_DEFINE(HAVE_ISNANL) fi ;; + *-netware) + AC_CHECK_HEADERS([nan.h ieeefp.h sys/isa_defs.h sys/machine.h \ + sys/types.h locale.h float.h inttypes.h]) + SECTION_FLAGS='-ffunction-sections -fdata-sections' + AC_SUBST(SECTION_FLAGS) + GLIBCXX_CHECK_LINKER_FEATURES + GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT + AC_DEFINE(HAVE_HYPOT) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISNAN) + + # For showmanyc_helper(). + AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h) + GLIBCXX_CHECK_POLL + GLIBCXX_CHECK_S_ISREG_OR_S_IFREG + + # For xsputn_2(). + AC_CHECK_HEADERS(sys/uio.h) + GLIBCXX_CHECK_WRITEV + ;; *-qnx6.1* | *-qnx6.2*) - #os_include_dir="os/qnx/qnx6.1" SECTION_FLAGS='-ffunction-sections -fdata-sections' AC_SUBST(SECTION_FLAGS) GLIBCXX_CHECK_LINKER_FEATURES GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT - GLIBCXX_CHECK_WCHAR_T_SUPPORT AC_DEFINE(HAVE_COSF) AC_DEFINE(HAVE_COSL) AC_DEFINE(HAVE_COSHF) @@ -216,79 +263,18 @@ case "${host}" in # os_include_dir="os/solaris/solaris2.6" # ;; *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10) + GLIBCXX_CHECK_LINKER_FEATURES AC_DEFINE(HAVE_GETPAGESIZE) AC_DEFINE(HAVE_SIGSETJMP) AC_DEFINE(HAVE_MBSTATE_T) AC_DEFINE(HAVE_POLL) AC_DEFINE(HAVE_S_ISREG) AC_DEFINE(HAVE_LC_MESSAGES) - AC_DEFINE(HAVE_BTOWC) - AC_DEFINE(HAVE_DRAND48) - AC_DEFINE(HAVE_FGETWC) - AC_DEFINE(HAVE_FGETWS) AC_DEFINE(HAVE_FINITE) AC_DEFINE(HAVE_FPCLASS) - AC_DEFINE(HAVE_FPUTWC) - AC_DEFINE(HAVE_FPUTWS) - AC_DEFINE(HAVE_FWIDE) - AC_DEFINE(HAVE_FWPRINTF) - AC_DEFINE(HAVE_FWSCANF) AC_DEFINE(HAVE_GETPAGESIZE) - AC_DEFINE(HAVE_GETWC) - AC_DEFINE(HAVE_GETWCHAR) - AC_DEFINE(HAVE_ISATTY) - AC_DEFINE(HAVE_MBRLEN) - AC_DEFINE(HAVE_MBRTOWC) - AC_DEFINE(HAVE_MBSINIT) - AC_DEFINE(HAVE_MBSRTOWCS) - AC_DEFINE(HAVE_NL_LANGINFO) - AC_DEFINE(HAVE_PUTWC) - AC_DEFINE(HAVE_PUTWCHAR) - AC_DEFINE(HAVE_SWPRINTF) - AC_DEFINE(HAVE_SWSCANF) - AC_DEFINE(HAVE_UNGETWC) - AC_DEFINE(HAVE_VFWPRINTF) - AC_DEFINE(HAVE_VSWPRINTF) - AC_DEFINE(HAVE_VWPRINTF) - AC_DEFINE(HAVE_WCRTOMB) - AC_DEFINE(HAVE_WCSCAT) - AC_DEFINE(HAVE_WCSCHR) - AC_DEFINE(HAVE_WCSCMP) - AC_DEFINE(HAVE_WCSCOLL) - AC_DEFINE(HAVE_WCSCPY) - AC_DEFINE(HAVE_WCSCSPN) - AC_DEFINE(HAVE_WCSFTIME) - AC_DEFINE(HAVE_WCSLEN) - AC_DEFINE(HAVE_WCSNCAT) - AC_DEFINE(HAVE_WCSNCMP) - AC_DEFINE(HAVE_WCSNCPY) - AC_DEFINE(HAVE_WCSPBRK) - AC_DEFINE(HAVE_WCSRCHR) - AC_DEFINE(HAVE_WCSRTOMBS) - AC_DEFINE(HAVE_WCSSPN) - AC_DEFINE(HAVE_WCSSTR) - AC_DEFINE(HAVE_WCSTOD) - AC_DEFINE(HAVE_WCSTOK) - AC_DEFINE(HAVE_WCSTOL) - AC_DEFINE(HAVE_WCSTOUL) - AC_DEFINE(HAVE_WCSXFRM) - AC_DEFINE(HAVE_WCTOB) - AC_DEFINE(HAVE_WMEMCHR) - AC_DEFINE(HAVE_WMEMCMP) - AC_DEFINE(HAVE_WMEMCPY) - AC_DEFINE(HAVE_WMEMMOVE) - AC_DEFINE(HAVE_WMEMSET) - AC_DEFINE(HAVE_WPRINTF) - AC_DEFINE(HAVE_WSCANF) - AC_DEFINE(HAVE_ICONV) - AC_DEFINE(HAVE_ICONV_CLOSE) - AC_DEFINE(HAVE_ICONV_OPEN) - # Look for the pieces required for wchar_t support in order to - # get all the right HAVE_* macros defined. - GLIBCXX_CHECK_WCHAR_T_SUPPORT # All of the dependencies for wide character support are here, so - # turn it on. This requires some syncronization with the - # GLIBCXX_CHECK_WCHAR_T_SUPPORT in acinclude.m4 + # turn it on. AC_DEFINE(_GLIBCXX_USE_WCHAR_T) # Are these tested for even when cross? AC_DEFINE(HAVE_FLOAT_H) @@ -322,8 +308,13 @@ case "${host}" in AC_DEFINE(HAVE___BUILTIN_SINF) ;; esac - AC_DEFINE(HAVE_STRTOF) - AC_DEFINE(HAVE_STRTOLD) + case "$target" in + *-*-solaris2.10) + # These two C99 functions are present only in Solaris >= 10 + AC_DEFINE(HAVE_STRTOF) + AC_DEFINE(HAVE_STRTOLD) + ;; + esac AC_DEFINE(HAVE_MMAP) AC_DEFINE(HAVE_COPYSIGN) AC_DEFINE(HAVE_ISNAN) @@ -331,35 +322,104 @@ case "${host}" in AC_DEFINE(HAVE_MODFF) AC_DEFINE(HAVE_HYPOT) ;; + *-tpf) + AC_CHECK_HEADERS([nan.h endian.h machine/endian.h \ + sys/param.h sys/types.h locale.h float.h inttypes.h]) + SECTION_FLAGS='-ffunction-sections -fdata-sections' + AC_SUBST(SECTION_FLAGS) + GLIBCXX_CHECK_LINKER_FEATURES + GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT + AC_DEFINE(HAVE_COPYSIGN) + AC_DEFINE(HAVE_COPYSIGNF) + AC_DEFINE(HAVE_FINITE) + AC_DEFINE(HAVE_FINITEF) + AC_DEFINE(HAVE_FREXPF) + AC_DEFINE(HAVE_HYPOTF) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISINFF) + AC_DEFINE(HAVE_ISNAN) + AC_DEFINE(HAVE_ISNANF) + AC_DEFINE(HAVE_SINCOS) + AC_DEFINE(HAVE_SINCOSF) + if test x"long_double_math_on_this_cpu" = x"yes"; then + AC_DEFINE(HAVE_FINITEL) + AC_DEFINE(HAVE_HYPOTL) + AC_DEFINE(HAVE_ISINFL) + AC_DEFINE(HAVE_ISNANL) + fi + ;; + *-vxworks) + AC_DEFINE(HAVE_MMAP) + AC_DEFINE(HAVE_ACOSF) + AC_DEFINE(HAVE_ASINF) + AC_DEFINE(HAVE_ATAN2F) + AC_DEFINE(HAVE_ATANF) + AC_DEFINE(HAVE_CEILF) + AC_DEFINE(HAVE_COSF) + AC_DEFINE(HAVE_COSHF) + AC_DEFINE(HAVE_EXPF) + AC_DEFINE(HAVE_FABSF) + AC_DEFINE(HAVE_FLOORF) + AC_DEFINE(HAVE_FMODF) + AC_DEFINE(HAVE_HYPOT) + AC_DEFINE(HAVE_LOG10F) + AC_DEFINE(HAVE_LOGF) + AC_DEFINE(HAVE_POWF) + AC_DEFINE(HAVE_SINF) + AC_DEFINE(HAVE_SINHF) + AC_DEFINE(HAVE_SQRTF) + AC_DEFINE(HAVE_TANF) + AC_DEFINE(HAVE_TANHF) + ;; *-windiss*) - #os_include_dir="os/windiss" AC_DEFINE(HAVE_ACOSF) + AC_DEFINE(HAVE_ACOSL) AC_DEFINE(HAVE_ASINF) + AC_DEFINE(HAVE_ASINL) AC_DEFINE(HAVE_ATAN2F) + AC_DEFINE(HAVE_ATAN2L) AC_DEFINE(HAVE_ATANF) + AC_DEFINE(HAVE_ATANL) AC_DEFINE(HAVE_CEILF) + AC_DEFINE(HAVE_CEILL) AC_DEFINE(HAVE_COPYSIGN) AC_DEFINE(HAVE_COPYSIGNF) AC_DEFINE(HAVE_COSF) + AC_DEFINE(HAVE_COSL) AC_DEFINE(HAVE_COSHF) + AC_DEFINE(HAVE_COSHL) AC_DEFINE(HAVE_EXPF) + AC_DEFINE(HAVE_EXPL) AC_DEFINE(HAVE_FABSF) + AC_DEFINE(HAVE_FABSL) AC_DEFINE(HAVE_FLOORF) + AC_DEFINE(HAVE_FLOORL) AC_DEFINE(HAVE_FMODF) + AC_DEFINE(HAVE_FMODL) AC_DEFINE(HAVE_FREXPF) + AC_DEFINE(HAVE_FREXPL) AC_DEFINE(HAVE_LDEXPF) + AC_DEFINE(HAVE_LDEXPL) AC_DEFINE(HAVE_LOG10F) + AC_DEFINE(HAVE_LOG10L) AC_DEFINE(HAVE_LOGF) AC_DEFINE(HAVE_MODFF) + AC_DEFINE(HAVE_MODFL) AC_DEFINE(HAVE_POWF) + AC_DEFINE(HAVE_POWL) AC_DEFINE(HAVE_SINF) + AC_DEFINE(HAVE_SINL) AC_DEFINE(HAVE_SINHF) + AC_DEFINE(HAVE_SINHL) AC_DEFINE(HAVE_SQRTF) + AC_DEFINE(HAVE_SQRTL) AC_DEFINE(HAVE_TANF) + AC_DEFINE(HAVE_TANL) AC_DEFINE(HAVE_TANHF) + AC_DEFINE(HAVE_TANHL) ;; *) AC_MSG_ERROR([No support for this host/target combination.]) ;; esac - +])