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 *-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 *-qnx6.1* | *-qnx6.2*) 214 SECTION_FLAGS='-ffunction-sections -fdata-sections' 215 AC_SUBST(SECTION_FLAGS) 216 GLIBCXX_CHECK_LINKER_FEATURES 217 AC_DEFINE(HAVE_COSF) 218 AC_DEFINE(HAVE_COSL) 219 AC_DEFINE(HAVE_COSHF) 220 AC_DEFINE(HAVE_COSHL) 221 AC_DEFINE(HAVE_LOGF) 222 AC_DEFINE(HAVE_LOGL) 223 AC_DEFINE(HAVE_LOG10F) 224 AC_DEFINE(HAVE_LOG10L) 225 AC_DEFINE(HAVE_SINF) 226 AC_DEFINE(HAVE_SINL) 227 AC_DEFINE(HAVE_SINHF) 228 AC_DEFINE(HAVE_SINHL) 229 ;; 230 *-rtems*) 231 GLIBCXX_CHECK_COMPILER_FEATURES 232 GLIBCXX_CHECK_LINKER_FEATURES 233 GLIBCXX_CHECK_MATH_SUPPORT 234 GLIBCXX_CHECK_STDLIB_SUPPORT 235 ;; 236 *-solaris*) 237 case "$target" in 238 *-solaris2.9 | *-solaris2.10) 239 GLIBCXX_CHECK_LINKER_FEATURES 240 AC_DEFINE(HAVE_MBSTATE_T) 241 AC_DEFINE(HAVE_FINITE) 242 AC_DEFINE(HAVE_FPCLASS) 243 # All of the dependencies for wide character support are here, so 244 # turn it on. 245 AC_DEFINE(_GLIBCXX_USE_WCHAR_T) 246 ;; 247 esac 248 case "$target" in 249 *-*-solaris2.10) 250 # These two C99 functions are present only in Solaris >= 10 251 AC_DEFINE(HAVE_STRTOF) 252 AC_DEFINE(HAVE_STRTOLD) 253 ;; 254 esac 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