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 111 *-haiku*) 112 AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ 113 machine/endian.h machine/param.h sys/machine.h sys/types.h \ 114 fp.h float.h endian.h inttypes.h locale.h float.h stdint.h]) 115 SECTION_FLAGS='-ffunction-sections -fdata-sections' 116 AC_SUBST(SECTION_FLAGS) 117 118 AC_DEFINE(HAVE_INT64_T) 119 120 AC_DEFINE(HAVE_ACOSF) 121 AC_DEFINE(HAVE_ASINF) 122 AC_DEFINE(HAVE_ATANF) 123 AC_DEFINE(HAVE_ATAN2F) 124 AC_DEFINE(HAVE_CEILF) 125 AC_DEFINE(HAVE_COSF) 126 AC_DEFINE(HAVE_COSHF) 127 AC_DEFINE(HAVE_EXPF) 128 AC_DEFINE(HAVE_FABSF) 129 AC_DEFINE(HAVE_FINITE) 130 AC_DEFINE(HAVE_FINITEF) 131 AC_DEFINE(HAVE_FLOORF) 132 AC_DEFINE(HAVE_FMODF) 133 AC_DEFINE(HAVE_FREXPF) 134 AC_DEFINE(HAVE_HYPOT) 135 AC_DEFINE(HAVE_HYPOTF) 136 AC_DEFINE(HAVE_ISINF) 137 AC_DEFINE(HAVE_ISINFF) 138 AC_DEFINE(HAVE_ISNAN) 139 AC_DEFINE(HAVE_ISNANF) 140 AC_DEFINE(HAVE_LOGF) 141 AC_DEFINE(HAVE_LOG10F) 142 AC_DEFINE(HAVE_MODFF) 143 AC_DEFINE(HAVE_SINF) 144 AC_DEFINE(HAVE_SINHF) 145 AC_DEFINE(HAVE_SQRTF) 146 AC_DEFINE(HAVE_TANF) 147 AC_DEFINE(HAVE_TANHF) 148 AC_DEFINE(HAVE_TLS) 149 ;; 150 151 *-hpux*) 152 SECTION_FLAGS='-ffunction-sections -fdata-sections' 153 AC_SUBST(SECTION_FLAGS) 154 GLIBCXX_CHECK_LINKER_FEATURES 155 156 # GLIBCXX_CHECK_MATH_SUPPORT 157 AC_DEFINE(HAVE_ISNAN) 158 AC_DEFINE(HAVE_HYPOT) 159 AC_DEFINE(HAVE_ACOSF) 160 AC_DEFINE(HAVE_ASINF) 161 AC_DEFINE(HAVE_ATANF) 162 AC_DEFINE(HAVE_COSF) 163 AC_DEFINE(HAVE_COSHF) 164 AC_DEFINE(HAVE_SINF) 165 AC_DEFINE(HAVE_SINHF) 166 AC_DEFINE(HAVE_TANF) 167 AC_DEFINE(HAVE_TANHF) 168 AC_DEFINE(HAVE_EXPF) 169 AC_DEFINE(HAVE_ATAN2F) 170 AC_DEFINE(HAVE_FABSF) 171 AC_DEFINE(HAVE_FMODF) 172 AC_DEFINE(HAVE_FREXPF) 173 AC_DEFINE(HAVE_LOGF) 174 AC_DEFINE(HAVE_LOG10F) 175 AC_DEFINE(HAVE_MODF) 176 AC_DEFINE(HAVE_POWF) 177 AC_DEFINE(HAVE_SQRTF) 178 179 # GLIBCXX_CHECK_STDLIB_SUPPORT 180 AC_DEFINE(HAVE_STRTOLD) 181 182 GCC_CHECK_TLS 183 case "$target" in 184 *-hpux10*) 185 AC_DEFINE(HAVE_ISINF) 186 AC_DEFINE(HAVE_ISINFF) 187 AC_DEFINE(HAVE_ISNANF) 188 AC_DEFINE(HAVE_FINITE) 189 AC_DEFINE(HAVE_FINITEF) 190 ;; 191 esac 192 ;; 193 *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*) 194 GLIBCXX_CHECK_COMPILER_FEATURES 195 GLIBCXX_CHECK_LINKER_FEATURES 196 GLIBCXX_CHECK_MATH_SUPPORT 197 GLIBCXX_CHECK_STDLIB_SUPPORT 198 AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1) 199 GCC_CHECK_TLS 200 AM_ICONV 201 ;; 202 *-mingw32*) 203 GLIBCXX_CHECK_LINKER_FEATURES 204 GLIBCXX_CHECK_MATH_SUPPORT 205 GLIBCXX_CHECK_STDLIB_SUPPORT 206 ;; 207 *-netbsd*) 208 SECTION_FLAGS='-ffunction-sections -fdata-sections' 209 AC_SUBST(SECTION_FLAGS) 210 GLIBCXX_CHECK_LINKER_FEATURES 211 AC_DEFINE(HAVE_FINITEF) 212 AC_DEFINE(HAVE_FINITE) 213 AC_DEFINE(HAVE_FREXPF) 214 AC_DEFINE(HAVE_HYPOTF) 215 AC_DEFINE(HAVE_ISINF) 216 AC_DEFINE(HAVE_ISINFF) 217 AC_DEFINE(HAVE_ISNAN) 218 AC_DEFINE(HAVE_ISNANF) 219 if test x"long_double_math_on_this_cpu" = x"yes"; then 220 AC_DEFINE(HAVE_FINITEL) 221 AC_DEFINE(HAVE_ISINFL) 222 AC_DEFINE(HAVE_ISNANL) 223 fi 224 ;; 225 *-qnx6.1* | *-qnx6.2*) 226 SECTION_FLAGS='-ffunction-sections -fdata-sections' 227 AC_SUBST(SECTION_FLAGS) 228 GLIBCXX_CHECK_LINKER_FEATURES 229 AC_DEFINE(HAVE_COSF) 230 AC_DEFINE(HAVE_COSL) 231 AC_DEFINE(HAVE_COSHF) 232 AC_DEFINE(HAVE_COSHL) 233 AC_DEFINE(HAVE_LOGF) 234 AC_DEFINE(HAVE_LOGL) 235 AC_DEFINE(HAVE_LOG10F) 236 AC_DEFINE(HAVE_LOG10L) 237 AC_DEFINE(HAVE_SINF) 238 AC_DEFINE(HAVE_SINL) 239 AC_DEFINE(HAVE_SINHF) 240 AC_DEFINE(HAVE_SINHL) 241 ;; 242 *-rtems*) 243 GLIBCXX_CHECK_COMPILER_FEATURES 244 GLIBCXX_CHECK_LINKER_FEATURES 245 GLIBCXX_CHECK_MATH_SUPPORT 246 GLIBCXX_CHECK_STDLIB_SUPPORT 247 ;; 248 *-solaris*) 249 GLIBCXX_CHECK_LINKER_FEATURES 250 AC_DEFINE(HAVE_MBSTATE_T) 251 AC_DEFINE(HAVE_FINITE) 252 AC_DEFINE(HAVE_FPCLASS) 253 # All of the dependencies for wide character support are here, so 254 # turn it on. 255 AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 256 # These two C99 functions are present only in Solaris >= 10 257 AC_DEFINE(HAVE_STRTOF) 258 AC_DEFINE(HAVE_STRTOLD) 259 AC_DEFINE(HAVE_ISNAN) 260 AC_DEFINE(HAVE_ISNANF) 261 AC_DEFINE(HAVE_MODFF) 262 AC_DEFINE(HAVE_HYPOT) 263 ;; 264 *-tpf) 265 SECTION_FLAGS='-ffunction-sections -fdata-sections' 266 SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS' 267 AC_SUBST(SECTION_FLAGS) 268 AC_DEFINE(HAVE_FINITE) 269 AC_DEFINE(HAVE_FINITEF) 270 AC_DEFINE(HAVE_FREXPF) 271 AC_DEFINE(HAVE_HYPOTF) 272 AC_DEFINE(HAVE_ISINF) 273 AC_DEFINE(HAVE_ISINFF) 274 AC_DEFINE(HAVE_ISNAN) 275 AC_DEFINE(HAVE_ISNANF) 276 AC_DEFINE(HAVE_SINCOS) 277 AC_DEFINE(HAVE_SINCOSF) 278 if test x"long_double_math_on_this_cpu" = x"yes"; then 279 AC_DEFINE(HAVE_FINITEL) 280 AC_DEFINE(HAVE_HYPOTL) 281 AC_DEFINE(HAVE_ISINFL) 282 AC_DEFINE(HAVE_ISNANL) 283 fi 284 ;; 285 *-*vms*) 286 # Check for available headers. 287 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld 288 GLIBCXX_CHECK_MATH_SUPPORT 289 GLIBCXX_CHECK_STDLIB_SUPPORT 290 ;; 291 *-vxworks) 292 AC_DEFINE(HAVE_ACOSF) 293 AC_DEFINE(HAVE_ASINF) 294 AC_DEFINE(HAVE_ATAN2F) 295 AC_DEFINE(HAVE_ATANF) 296 AC_DEFINE(HAVE_CEILF) 297 AC_DEFINE(HAVE_COSF) 298 AC_DEFINE(HAVE_COSHF) 299 AC_DEFINE(HAVE_EXPF) 300 AC_DEFINE(HAVE_FABSF) 301 AC_DEFINE(HAVE_FLOORF) 302 AC_DEFINE(HAVE_FMODF) 303 AC_DEFINE(HAVE_HYPOT) 304 AC_DEFINE(HAVE_LOG10F) 305 AC_DEFINE(HAVE_LOGF) 306 AC_DEFINE(HAVE_POWF) 307 AC_DEFINE(HAVE_SINF) 308 AC_DEFINE(HAVE_SINHF) 309 AC_DEFINE(HAVE_SQRTF) 310 AC_DEFINE(HAVE_TANF) 311 AC_DEFINE(HAVE_TANHF) 312 ;; 313 *) 314 AC_MSG_ERROR([No support for this host/target combination.]) 315 ;; 316esac 317]) 318