Home | History | Annotate | Line # | Download | only in libstdc++-v3
crossconfig.m4 revision 1.2
      1 dnl
      2 dnl This file contains details for non-native builds.
      3 dnl
      4 
      5 AC_DEFUN([GLIBCXX_CROSSCONFIG],[
      6 # Base decisions on target environment.
      7 case "${host}" in
      8   arm*-*-symbianelf*)
      9     # This is a freestanding configuration; there is nothing to do here.
     10     ;;
     11 
     12   mips*-sde-elf*)
     13     # These definitions are for the SDE C library rather than newlib.
     14     SECTION_FLAGS='-ffunction-sections -fdata-sections'
     15     AC_SUBST(SECTION_FLAGS)
     16     GLIBCXX_CHECK_COMPILER_FEATURES
     17     GLIBCXX_CHECK_LINKER_FEATURES
     18     GLIBCXX_CHECK_MATH_SUPPORT
     19     GLIBCXX_CHECK_STDLIB_SUPPORT
     20 
     21     AC_DEFINE(HAVE_FINITE)
     22     AC_DEFINE(HAVE_HYPOT)
     23     AC_DEFINE(HAVE_ISNAN)
     24     AC_DEFINE(HAVE_ISINF)
     25 
     26     AC_DEFINE(HAVE_LDEXPF)
     27     AC_DEFINE(HAVE_MODF)
     28     AC_DEFINE(HAVE_SQRTF)
     29     ;;
     30 
     31   *-aix*)
     32     GLIBCXX_CHECK_LINKER_FEATURES
     33     GLIBCXX_CHECK_MATH_SUPPORT
     34     GLIBCXX_CHECK_STDLIB_SUPPORT
     35     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
     36     # We don't yet support AIX's TLS ABI.
     37     #GCC_CHECK_TLS
     38     AM_ICONV
     39     ;;
     40 
     41   *-darwin*)
     42     # Darwin versions vary, but the linker should work in a cross environment,
     43     # so we just check for all the features here.
     44     # Check for available headers.
     45 
     46     # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
     47     GLIBCXX_CHECK_MATH_SUPPORT
     48     GLIBCXX_CHECK_STDLIB_SUPPORT
     49     ;;
     50 
     51   *djgpp)
     52     # GLIBCXX_CHECK_MATH_SUPPORT
     53     AC_DEFINE(HAVE_ISINF)
     54     AC_DEFINE(HAVE_ISNAN)
     55     AC_DEFINE(HAVE_FINITE)
     56     AC_DEFINE(HAVE_SINCOS)
     57     AC_DEFINE(HAVE_HYPOT)
     58     ;;
     59 
     60   *-freebsd*)
     61     SECTION_FLAGS='-ffunction-sections -fdata-sections'
     62     AC_SUBST(SECTION_FLAGS) 
     63     GLIBCXX_CHECK_LINKER_FEATURES
     64     AC_DEFINE(HAVE_SETENV)
     65     AC_DEFINE(HAVE_FINITEF)
     66     AC_DEFINE(HAVE_FINITE)
     67     AC_DEFINE(HAVE_FREXPF)
     68     AC_DEFINE(HAVE_HYPOT)
     69     AC_DEFINE(HAVE_HYPOTF)
     70     AC_DEFINE(HAVE_ISINF)
     71     AC_DEFINE(HAVE_ISNAN)
     72     AC_DEFINE(HAVE_ISNANF)
     73 
     74     AC_DEFINE(HAVE_ACOSF)
     75     AC_DEFINE(HAVE_ASINF)
     76     AC_DEFINE(HAVE_ATAN2F)
     77     AC_DEFINE(HAVE_ATANF)
     78     AC_DEFINE(HAVE_CEILF)
     79     AC_DEFINE(HAVE_COSF)
     80     AC_DEFINE(HAVE_COSHF)
     81     AC_DEFINE(HAVE_EXPF)
     82     AC_DEFINE(HAVE_FABSF)
     83     AC_DEFINE(HAVE_FLOORF)
     84     AC_DEFINE(HAVE_FMODF)
     85     AC_DEFINE(HAVE_FREXPF)
     86     AC_DEFINE(HAVE_LDEXPF)
     87     AC_DEFINE(HAVE_LOG10F)
     88     AC_DEFINE(HAVE_LOGF)
     89     AC_DEFINE(HAVE_MODFF)
     90     AC_DEFINE(HAVE_POWF)
     91     AC_DEFINE(HAVE_SINF)
     92     AC_DEFINE(HAVE_SINHF)
     93     AC_DEFINE(HAVE_SQRTF)
     94     AC_DEFINE(HAVE_TANF)
     95     AC_DEFINE(HAVE_TANHF)
     96     if test x"long_double_math_on_this_cpu" = x"yes"; then
     97       AC_DEFINE(HAVE_FINITEL)
     98       AC_DEFINE(HAVE_ISINFL)
     99       AC_DEFINE(HAVE_ISNANL)
    100     fi
    101     ;;
    102   *-hpux*)
    103     SECTION_FLAGS='-ffunction-sections -fdata-sections'
    104     AC_SUBST(SECTION_FLAGS)
    105     GLIBCXX_CHECK_LINKER_FEATURES
    106 
    107     # GLIBCXX_CHECK_MATH_SUPPORT
    108     AC_DEFINE(HAVE_ISNAN)
    109     AC_DEFINE(HAVE_HYPOT)
    110     AC_DEFINE(HAVE_ACOSF)
    111     AC_DEFINE(HAVE_ASINF)
    112     AC_DEFINE(HAVE_ATANF)
    113     AC_DEFINE(HAVE_COSF)
    114     AC_DEFINE(HAVE_COSHF)
    115     AC_DEFINE(HAVE_SINF)
    116     AC_DEFINE(HAVE_SINHF)
    117     AC_DEFINE(HAVE_TANF)
    118     AC_DEFINE(HAVE_TANHF)
    119     AC_DEFINE(HAVE_EXPF)
    120     AC_DEFINE(HAVE_ATAN2F)
    121     AC_DEFINE(HAVE_FABSF)
    122     AC_DEFINE(HAVE_FMODF)
    123     AC_DEFINE(HAVE_FREXPF)
    124     AC_DEFINE(HAVE_LOGF)
    125     AC_DEFINE(HAVE_LOG10F)
    126     AC_DEFINE(HAVE_MODF)
    127     AC_DEFINE(HAVE_POWF)
    128     AC_DEFINE(HAVE_SQRTF)
    129 
    130     # GLIBCXX_CHECK_STDLIB_SUPPORT
    131     AC_DEFINE(HAVE_STRTOLD)
    132 
    133     GCC_CHECK_TLS
    134     case "$target" in
    135       *-hpux10*)
    136 	AC_DEFINE(HAVE_ISINF)
    137 	AC_DEFINE(HAVE_ISINFF)
    138 	AC_DEFINE(HAVE_ISNANF)
    139 	AC_DEFINE(HAVE_FINITE)
    140 	AC_DEFINE(HAVE_FINITEF)
    141 	;;
    142     esac
    143     ;;
    144   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
    145     GLIBCXX_CHECK_COMPILER_FEATURES
    146     GLIBCXX_CHECK_LINKER_FEATURES
    147     GLIBCXX_CHECK_MATH_SUPPORT
    148     GLIBCXX_CHECK_STDLIB_SUPPORT
    149     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
    150     GCC_CHECK_TLS
    151     AM_ICONV
    152     ;;
    153   *-mingw32*)
    154     GLIBCXX_CHECK_LINKER_FEATURES
    155     GLIBCXX_CHECK_MATH_SUPPORT
    156     GLIBCXX_CHECK_STDLIB_SUPPORT
    157     ;;
    158   *-netbsd*)
    159     SECTION_FLAGS='-ffunction-sections -fdata-sections'
    160     AC_SUBST(SECTION_FLAGS) 
    161     GLIBCXX_CHECK_LINKER_FEATURES
    162 
    163     AC_DEFINE(HAVE_ICONV)
    164     AC_DEFINE(HAVE_ICONV_CLOSE)
    165     AC_DEFINE(HAVE_ICONV_OPEN)
    166     AC_DEFINE(HAVE_LC_MESSAGES)
    167 
    168     AC_DEFINE(HAVE_MMAP)
    169     AC_DEFINE(HAVE_GETPAGESIZE)
    170     AC_DEFINE(HAVE_SETENV)
    171     AC_DEFINE(HAVE_SIGSETJMP)
    172 
    173     AC_DEFINE(HAVE_FINITEF)
    174     AC_DEFINE(HAVE_FINITE)
    175     AC_DEFINE(HAVE_FREXPF)
    176     AC_DEFINE(HAVE_HYPOT)
    177     AC_DEFINE(HAVE_HYPOTF)
    178     AC_DEFINE(HAVE_ISINF)
    179     AC_DEFINE(HAVE_ISINFF)
    180     AC_DEFINE(HAVE_ISNAN)
    181     AC_DEFINE(HAVE_ISNANF)
    182     AC_DEFINE(HAVE_ACOSF)
    183     AC_DEFINE(HAVE_ASINF)
    184     AC_DEFINE(HAVE_ATAN2F)
    185     AC_DEFINE(HAVE_ATANF)
    186     AC_DEFINE(HAVE_CEILF)
    187     AC_DEFINE(HAVE_COSF)
    188     AC_DEFINE(HAVE_COSHF)
    189     AC_DEFINE(HAVE_EXPF)
    190     AC_DEFINE(HAVE_FABSF)
    191     AC_DEFINE(HAVE_FLOORF)
    192     AC_DEFINE(HAVE_FMODF)
    193     AC_DEFINE(HAVE_FREXPF)
    194     AC_DEFINE(HAVE_LDEXPF)
    195     AC_DEFINE(HAVE_LOG10F)
    196     AC_DEFINE(HAVE_LOGF)
    197     AC_DEFINE(HAVE_MODF)
    198     AC_DEFINE(HAVE_MODFF)
    199     AC_DEFINE(HAVE_POWF)
    200     AC_DEFINE(HAVE_SINF)
    201     AC_DEFINE(HAVE_SINHF)
    202     AC_DEFINE(HAVE_SQRTF)
    203     AC_DEFINE(HAVE_STRTOF)
    204     AC_DEFINE(HAVE_STRTOLD)
    205     AC_DEFINE(HAVE_TANF)
    206     AC_DEFINE(HAVE_TANHF)
    207     if test x"long_double_math_on_this_cpu" = x"yes"; then
    208       AC_DEFINE(HAVE_FINITEL)
    209       AC_DEFINE(HAVE_ISINFL)
    210       AC_DEFINE(HAVE_ISNANL)
    211     fi
    212     ;;
    213   *-netware)
    214     SECTION_FLAGS='-ffunction-sections -fdata-sections'
    215     AC_SUBST(SECTION_FLAGS)
    216     GLIBCXX_CHECK_LINKER_FEATURES
    217     AC_DEFINE(HAVE_HYPOT)
    218     AC_DEFINE(HAVE_ISINF)
    219     AC_DEFINE(HAVE_ISNAN)
    220     ;;
    221   *-qnx6.1* | *-qnx6.2*)
    222     SECTION_FLAGS='-ffunction-sections -fdata-sections'
    223     AC_SUBST(SECTION_FLAGS) 
    224     GLIBCXX_CHECK_LINKER_FEATURES
    225     AC_DEFINE(HAVE_COSF)
    226     AC_DEFINE(HAVE_COSL)
    227     AC_DEFINE(HAVE_COSHF)
    228     AC_DEFINE(HAVE_COSHL)
    229     AC_DEFINE(HAVE_LOGF)
    230     AC_DEFINE(HAVE_LOGL)
    231     AC_DEFINE(HAVE_LOG10F)
    232     AC_DEFINE(HAVE_LOG10L)
    233     AC_DEFINE(HAVE_SINF)
    234     AC_DEFINE(HAVE_SINL)
    235     AC_DEFINE(HAVE_SINHF)
    236     AC_DEFINE(HAVE_SINHL)
    237     ;;
    238   *-solaris*)
    239     case "$target" in
    240       *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
    241          GLIBCXX_CHECK_LINKER_FEATURES
    242          AC_DEFINE(HAVE_MBSTATE_T)
    243          AC_DEFINE(HAVE_FINITE)
    244          AC_DEFINE(HAVE_FPCLASS)
    245          # All of the dependencies for wide character support are here, so
    246          # turn it on. 
    247          AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 
    248         ;;
    249     esac
    250     case "$target" in
    251       *-*-solaris2.10)
    252       # These two C99 functions are present only in Solaris >= 10
    253       AC_DEFINE(HAVE_STRTOF)
    254       AC_DEFINE(HAVE_STRTOLD)
    255      ;;
    256     esac
    257     AC_DEFINE(HAVE_ISNAN)
    258     AC_DEFINE(HAVE_ISNANF)
    259     AC_DEFINE(HAVE_MODFF)
    260     AC_DEFINE(HAVE_HYPOT)
    261     ;;
    262   *-tpf)
    263     SECTION_FLAGS='-ffunction-sections -fdata-sections'
    264     AC_SUBST(SECTION_FLAGS)
    265     GLIBCXX_CHECK_LINKER_FEATURES
    266     AC_DEFINE(HAVE_FINITE)
    267     AC_DEFINE(HAVE_FINITEF)
    268     AC_DEFINE(HAVE_FREXPF)
    269     AC_DEFINE(HAVE_HYPOTF)
    270     AC_DEFINE(HAVE_ISINF)
    271     AC_DEFINE(HAVE_ISINFF)
    272     AC_DEFINE(HAVE_ISNAN)
    273     AC_DEFINE(HAVE_ISNANF)
    274     AC_DEFINE(HAVE_SINCOS)
    275     AC_DEFINE(HAVE_SINCOSF)
    276     if test x"long_double_math_on_this_cpu" = x"yes"; then
    277       AC_DEFINE(HAVE_FINITEL)
    278       AC_DEFINE(HAVE_HYPOTL)
    279       AC_DEFINE(HAVE_ISINFL)
    280       AC_DEFINE(HAVE_ISNANL)
    281     fi
    282     ;;
    283   *-vxworks)
    284     AC_DEFINE(HAVE_ACOSF)
    285     AC_DEFINE(HAVE_ASINF)
    286     AC_DEFINE(HAVE_ATAN2F)
    287     AC_DEFINE(HAVE_ATANF)
    288     AC_DEFINE(HAVE_CEILF)
    289     AC_DEFINE(HAVE_COSF)
    290     AC_DEFINE(HAVE_COSHF)
    291     AC_DEFINE(HAVE_EXPF)
    292     AC_DEFINE(HAVE_FABSF)
    293     AC_DEFINE(HAVE_FLOORF)
    294     AC_DEFINE(HAVE_FMODF)
    295     AC_DEFINE(HAVE_HYPOT)
    296     AC_DEFINE(HAVE_LOG10F)
    297     AC_DEFINE(HAVE_LOGF)
    298     AC_DEFINE(HAVE_POWF)
    299     AC_DEFINE(HAVE_SINF)
    300     AC_DEFINE(HAVE_SINHF)
    301     AC_DEFINE(HAVE_SQRTF)
    302     AC_DEFINE(HAVE_TANF)
    303     AC_DEFINE(HAVE_TANHF)
    304     ;;
    305   *)
    306     AC_MSG_ERROR([No support for this host/target combination.])
    307    ;;
    308 esac
    309 ])
    310