summaryrefslogtreecommitdiff
path: root/sysdeps/mips/preconfigure
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mips/preconfigure')
-rw-r--r--sysdeps/mips/preconfigure34
1 files changed, 34 insertions, 0 deletions
diff --git a/sysdeps/mips/preconfigure b/sysdeps/mips/preconfigure
new file mode 100644
index 0000000000..b215eb2c17
--- /dev/null
+++ b/sysdeps/mips/preconfigure
@@ -0,0 +1,34 @@
+case "$machine" in
+mips64*) base_machine=mips64
+ case "$CC $CFLAGS $CPPFLAGS " in
+ *" -mabi=n32 "*) mips_cc_abi=n32 ;;
+ *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
+ *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
+ *) mips_cc_abi=default ;;
+ esac
+ case $config_os in
+ *abin32*) mips_config_abi=n32 ;;
+ *abi64*|*abin64*) mips_config_abi=64 ;;
+ *abi32*|*abio32*) mips_config_abi=32 ;;
+ *) mips_config_abi=$mips_cc_abi ;;
+ esac
+ case $mips_config_abi in
+ default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
+ n32) machine=mips/mips64/n32 ;;
+ 64) machine=mips/mips64/n64 ;;
+ 32) machine=mips/mips32/kern64 ;;
+ esac
+ machine=$machine/$config_machine
+ if test $mips_config_abi != $mips_cc_abi; then
+ # This won't make it to config.make, but we want to
+ # set this in case configure tests depend on it.
+ CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
+ fi
+ ;;
+mips*) base_machine=mips
+ case "$CC $CFLAGS $CPPFLAGS " in
+ *" -mips16 "*) machine=mips/mips32/mips16/$machine ;;
+ *) machine=mips/mips32/$machine ;;
+ esac
+ ;;
+esac