summaryrefslogtreecommitdiff
path: root/scripts/build/arch/sh.sh
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-10-05 15:32:00 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-10-05 15:32:00 (GMT)
commitb8d189b2967843015376d5696b244958cba44202 (patch)
treec6c6fc2e4d462f63f3268feefc3ed8d7c207f12f /scripts/build/arch/sh.sh
parent689f4b103ce4e33f612e91ec83b40d19bc892d8d (diff)
Separate the architecture config file and function script.
/trunk/kconfig/kconfig.mk | 46 23 23 0 +++++++++++++++++++++++----------------------- /trunk/scripts/crosstool.sh | 2 1 1 0 +- /trunk/docs/overview.txt | 28 11 17 0 +++++++++++----------------- 3 files changed, 35 insertions(+), 41 deletions(-)
Diffstat (limited to 'scripts/build/arch/sh.sh')
-rw-r--r--scripts/build/arch/sh.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/build/arch/sh.sh b/scripts/build/arch/sh.sh
new file mode 100644
index 0000000..b6dbc02
--- /dev/null
+++ b/scripts/build/arch/sh.sh
@@ -0,0 +1,32 @@
+# Compute sh-specific values
+
+CT_DoArchValues () {
+ # The architecture part of the tuple:
+ CT_TARGET_ARCH="${CT_ARCH_SH_VARIANT}${target_endian_eb}"
+
+ # gcc ./configure flags
+ CT_ARCH_WITH_ARCH=
+ CT_ARCH_WITH_ABI=
+ CT_ARCH_WITH_CPU=
+ CT_ARCH_WITH_TUNE=
+ CT_ARCH_WITH_FPU=
+ CT_ARCH_WITH_FLOAT=
+
+ # Endianness stuff
+ case "${CT_ARCH_BE},${CT_ARCH_LE}" in
+ y,) CT_ARCH_ENDIAN_CFLAG=-mb;;
+ ,y) CT_ARCH_ENDIAN_CFLAG=-ml;;
+ esac
+
+ # CFLAGS
+ case "${CT_ARCH_SH_VARIENT}" in
+ sh3) CT_ARCH_ARCH_CFLAG=-m3;;
+ sh4*)
+ case "${CT_ARCH_FLOAT_HW},${CT_ARCH_FLOAT_SW}" in
+ y,) CT_ARCH_ARCH_CFLAG="-m4${CT_ARCH_SH_VARIANT##sh?}";;
+ ,y) CT_ARCH_ARCH_CFLAG="-m4${CT_ARCH_SH_VARIANT##sh?}-nofpu";;
+ esac
+ ;;
+ esac
+ CT_ARCH_FLOAT_CFLAG=
+}