about summary refs log tree commit diff
path: root/REORG.TODO/sysdeps/mips/preconfigure
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/sysdeps/mips/preconfigure')
-rw-r--r--REORG.TODO/sysdeps/mips/preconfigure29
1 files changed, 29 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/mips/preconfigure b/REORG.TODO/sysdeps/mips/preconfigure
new file mode 100644
index 0000000000..c118592b27
--- /dev/null
+++ b/REORG.TODO/sysdeps/mips/preconfigure
@@ -0,0 +1,29 @@
+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
+		as_fn_error $? "Unable to determine ABI." "$LINENO" 5
+	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
+		as_fn_error $? "MIPS16 is only supported with the o32 ABI." "$LINENO" 5
+	fi
+	;;
+esac