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 171 AC_DEFINE(HAVE_ICONV) 172 AC_DEFINE(HAVE_ICONV_CLOSE) 173 AC_DEFINE(HAVE_ICONV_OPEN) 174 AC_DEFINE(HAVE_LC_MESSAGES) 175 176 AC_DEFINE(HAVE_MMAP) 177 AC_DEFINE(HAVE_GETPAGESIZE) 178 AC_DEFINE(HAVE_SETENV) 179 AC_DEFINE(HAVE_SIGSETJMP) 180 181 AC_DEFINE(HAVE_FINITEF) 182 AC_DEFINE(HAVE_FINITE) 183 AC_DEFINE(HAVE_FREXPF) 184 AC_DEFINE(HAVE_HYPOT) 185 AC_DEFINE(HAVE_HYPOTF) 186 AC_DEFINE(HAVE_ISINF) 187 AC_DEFINE(HAVE_ISINFF) 188 AC_DEFINE(HAVE_ISNAN) 189 AC_DEFINE(HAVE_ISNANF) 190 AC_DEFINE(HAVE_ACOSF) 191 AC_DEFINE(HAVE_ASINF) 192 AC_DEFINE(HAVE_ATAN2F) 193 AC_DEFINE(HAVE_ATANF) 194 AC_DEFINE(HAVE_CEILF) 195 AC_DEFINE(HAVE_COSF) 196 AC_DEFINE(HAVE_COSHF) 197 AC_DEFINE(HAVE_EXPF) 198 AC_DEFINE(HAVE_FABSF) 199 AC_DEFINE(HAVE_FLOORF) 200 AC_DEFINE(HAVE_FMODF) 201 AC_DEFINE(HAVE_FREXPF) 202 AC_DEFINE(HAVE_LDEXPF) 203 AC_DEFINE(HAVE_LOG10F) 204 AC_DEFINE(HAVE_LOGF) 205 AC_DEFINE(HAVE_MODF) 206 AC_DEFINE(HAVE_MODFF) 207 AC_DEFINE(HAVE_POWF) 208 AC_DEFINE(HAVE_SINF) 209 AC_DEFINE(HAVE_SINHF) 210 AC_DEFINE(HAVE_SQRTF) 211 AC_DEFINE(HAVE_STRTOF) 212 AC_DEFINE(HAVE_STRTOLD) 213 AC_DEFINE(HAVE_TANF) 214 AC_DEFINE(HAVE_TANHF) 215 if test x"long_double_math_on_this_cpu" = x"yes"; then 216 AC_DEFINE(HAVE_FINITEL) 217 AC_DEFINE(HAVE_ISINFL) 218 AC_DEFINE(HAVE_ISNANL) 219 fi 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 *-rtems*) 239 GLIBCXX_CHECK_COMPILER_FEATURES 240 GLIBCXX_CHECK_LINKER_FEATURES 241 GLIBCXX_CHECK_MATH_SUPPORT 242 GLIBCXX_CHECK_STDLIB_SUPPORT 243 ;; 244 *-solaris*) 245 GLIBCXX_CHECK_LINKER_FEATURES 246 AC_DEFINE(HAVE_MBSTATE_T) 247 AC_DEFINE(HAVE_FINITE) 248 AC_DEFINE(HAVE_FPCLASS) 249 # All of the dependencies for wide character support are here, so 250 # turn it on. 251 AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 252 # These two C99 functions are present only in Solaris >= 10 253 AC_DEFINE(HAVE_STRTOF) 254 AC_DEFINE(HAVE_STRTOLD) 255 AC_DEFINE(HAVE_ISNAN) 256 AC_DEFINE(HAVE_ISNANF) 257 AC_DEFINE(HAVE_MODFF) 258 AC_DEFINE(HAVE_HYPOT) 259 ;; 260 *-tpf) 261 SECTION_FLAGS='-ffunction-sections -fdata-sections' 262 SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS' 263 AC_SUBST(SECTION_FLAGS) 264 AC_DEFINE(HAVE_FINITE) 265 AC_DEFINE(HAVE_FINITEF) 266 AC_DEFINE(HAVE_FREXPF) 267 AC_DEFINE(HAVE_HYPOTF) 268 AC_DEFINE(HAVE_ISINF) 269 AC_DEFINE(HAVE_ISINFF) 270 AC_DEFINE(HAVE_ISNAN) 271 AC_DEFINE(HAVE_ISNANF) 272 AC_DEFINE(HAVE_SINCOS) 273 AC_DEFINE(HAVE_SINCOSF) 274 if test x"long_double_math_on_this_cpu" = x"yes"; then 275 AC_DEFINE(HAVE_FINITEL) 276 AC_DEFINE(HAVE_HYPOTL) 277 AC_DEFINE(HAVE_ISINFL) 278 AC_DEFINE(HAVE_ISNANL) 279 fi 280 ;; 281 *-*vms*) 282 # Check for available headers. 283 # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld 284 GLIBCXX_CHECK_MATH_SUPPORT 285 GLIBCXX_CHECK_STDLIB_SUPPORT 286 ;; 287 *-vxworks) 288 AC_DEFINE(HAVE_ACOSF) 289 AC_DEFINE(HAVE_ASINF) 290 AC_DEFINE(HAVE_ATAN2F) 291 AC_DEFINE(HAVE_ATANF) 292 AC_DEFINE(HAVE_CEILF) 293 AC_DEFINE(HAVE_COSF) 294 AC_DEFINE(HAVE_COSHF) 295 AC_DEFINE(HAVE_EXPF) 296 AC_DEFINE(HAVE_FABSF) 297 AC_DEFINE(HAVE_FLOORF) 298 AC_DEFINE(HAVE_FMODF) 299 AC_DEFINE(HAVE_HYPOT) 300 AC_DEFINE(HAVE_LOG10F) 301 AC_DEFINE(HAVE_LOGF) 302 AC_DEFINE(HAVE_POWF) 303 AC_DEFINE(HAVE_SINF) 304 AC_DEFINE(HAVE_SINHF) 305 AC_DEFINE(HAVE_SQRTF) 306 AC_DEFINE(HAVE_TANF) 307 AC_DEFINE(HAVE_TANHF) 308 ;; 309 *) 310 AC_MSG_ERROR([No support for this host/target combination.]) 311 ;; 312esac 313]) 314