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