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 *-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 ;; 308esac 309]) 310