summaryrefslogtreecommitdiff
path: root/scripts/build/arch/sh.sh
diff options
context:
space:
mode:
authorDmitry Pankratov <dp@ubiquitech.com>2016-10-01 20:43:56 (GMT)
committerDmitry Pankratov <dp@ubiquitech.com>2016-10-01 20:43:56 (GMT)
commit34ca68e3b076f4a7eea78aa46215fa50dfb1e322 (patch)
tree2d8f667a234d6ea577ebb1435f18db60eec3805b /scripts/build/arch/sh.sh
parent11b20626b0d33624249f2609177f768a39cb70cf (diff)
parent531eab4c5650c7d51fa1c527c370b690ac50a8ab (diff)
Merge branch 'master' of https://github.com/crosstool-ng/crosstool-ng
Diffstat (limited to 'scripts/build/arch/sh.sh')
-rw-r--r--scripts/build/arch/sh.sh52
1 files changed, 43 insertions, 9 deletions
diff --git a/scripts/build/arch/sh.sh b/scripts/build/arch/sh.sh
index e7f4f1a..6761435 100644
--- a/scripts/build/arch/sh.sh
+++ b/scripts/build/arch/sh.sh
@@ -36,13 +36,47 @@ CT_DoArchTupleValues () {
CT_ARCH_FLOAT_CFLAG=
}
-#------------------------------------------------------------------------------
-# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
-CT_DoArchMultilibTarget ()
-{
- local target="${1}"; shift
- local -a multi_flags=( "$@" )
-
- echo "${target}"
+CT_DoArchUClibcConfig() {
+ local cfg="${1}"
+
+ # FIXME: uclibc (!ng) seems to support sh64 (sh5), too
+ CT_DoArchUClibcSelectArch "${cfg}" "sh"
+ CT_KconfigDisableOption "CONFIG_SH3" "${cfg}"
+ CT_KconfigDisableOption "CONFIG_SH4" "${cfg}"
+ CT_KconfigDisableOption "CONFIG_SH4A" "${cfg}"
+ case "${CT_ARCH_SH_VARIANT}" in
+ sh3) CT_KconfigEnableOption "CONFIG_SH3" "${cfg}";;
+ sh4) CT_KconfigEnableOption "CONFIG_SH4" "${cfg}";;
+ sh4a) CT_KconfigEnableOption "CONFIG_SH4A" "${cfg}";;
+ esac
+}
+
+CT_DoArchUClibcCflags() {
+ local cfg="${1}"
+ local cflags="${2}"
+ local f
+
+ for f in ${cflags}; do
+ case "${f}" in
+ -m3)
+ CT_KconfigEnableOption "CONFIG_SH3" "${cfg}"
+ ;;
+ -m4)
+ CT_KconfigEnableOption "CONFIG_SH4" "${cfg}"
+ CT_KconfigEnableOption "UCLIBC_HAS_FPU" "${cfg}"
+ ;;
+ -m4-nofpu)
+ CT_KconfigEnableOption "CONFIG_SH4" "${cfg}"
+ CT_KconfigDisableOption "UCLIBC_HAS_FPU" "${cfg}"
+ ;;
+ -m4a)
+ CT_KconfigEnableOption "CONFIG_SH4A" "${cfg}"
+ CT_KconfigEnableOption "UCLIBC_HAS_FPU" "${cfg}"
+ ;;
+ -m4a-nofpu)
+ CT_KconfigEnableOption "CONFIG_SH4A" "${cfg}"
+ CT_KconfigDisableOption "UCLIBC_HAS_FPU" "${cfg}"
+ ;;
+ esac
+ done
}