diff options
Diffstat (limited to 'sysdeps/mips/preconfigure.ac')
| -rw-r--r-- | sysdeps/mips/preconfigure.ac | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sysdeps/mips/preconfigure.ac b/sysdeps/mips/preconfigure.ac new file mode 100644 index 0000000000..038920265b --- /dev/null +++ b/sysdeps/mips/preconfigure.ac @@ -0,0 +1,34 @@ +GLIBC_PROVIDES[]dnl See aclocal.m4 in the top level source directory. +# Local preconfigure fragment for sysdeps/mips + +case "$machine" in +mips*) + abiflag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n 's/^#define _MIPS_SIM \(.*\)/\1/p'` + mips16flag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n 's/^#define __mips16 \(.*\)/\1/p'` + + base_machine=mips + if test "$abiflag" = "_ABIO32" ; then + if test "$mips16flag" = "1" ; then + machine=mips/mips32/mips16 + else + machine=mips/mips32 + fi + elif test "$abiflag" = "_ABIN32" ; then + machine=mips/mips64/n32 + elif test "$abiflag" = "_ABI64" ; then + machine=mips/mips64/n64 + else + AC_MSG_ERROR([Unable to determine ABI.], [1]) + fi + # $config_machine is not really needed here but the slash after + # $machine is needed by the case statement in + # sysdeps/unix/sysv/linux/mips/configure.ac. + machine=$machine/$config_machine + + if test "$abiflag" != "_ABIO32" -a "$mips16flag" = "1"; then + AC_MSG_ERROR([MIPS16 is only supported with the o32 ABI.], [1]) + fi + + with_fp_cond="defined __mips_hard_float" + ;; +esac |
