diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2020-03-21 22:24:38 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2020-03-23 14:56:58 +0000 |
commit | 0eb949898fa7f4d1c6f34ed60dda325e5c73f933 (patch) | |
tree | d9db50b43815eed3711cb4122a94db1e28331c67 | |
parent | b1d52bfe15f0dd44fafb4d8717cbe7d10b74ffb2 (diff) |
baremetal: Move ARM architecture detalization to separate function
... for the Keil module.
Change-Id: I930522f3963542912157cb9b71d8f1d9c8e6e6c3
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | share/qbs/modules/cpp/keil.js | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/share/qbs/modules/cpp/keil.js b/share/qbs/modules/cpp/keil.js index 252658955..6d8589b98 100644 --- a/share/qbs/modules/cpp/keil.js +++ b/share/qbs/modules/cpp/keil.js @@ -135,33 +135,34 @@ function imageFormat(qbs) { + architecture + "'"; } +function guessArmArchitecture(targetArchArm, targetArchThumb) { + var arch = "arm"; + if (targetArchArm === "4" && targetArchThumb === "0") + arch += "v4"; + else if (targetArchArm === "4" && targetArchThumb === "1") + arch += "v4t"; + else if (targetArchArm === "5" && targetArchThumb === "2") + arch += "v5t"; + else if (targetArchArm === "6" && targetArchThumb === "3") + arch += "v6"; + else if (targetArchArm === "6" && targetArchThumb === "4") + arch += "v6t2"; + else if (targetArchArm === "0" && targetArchThumb === "3") + arch += "v6m"; + else if (targetArchArm === "7" && targetArchThumb === "4") + arch += "v7r"; + else if (targetArchArm === "0" && targetArchThumb === "4") + arch += "v7m"; + return arch; +} + function guessArchitecture(macros) { - if (macros["__C51__"]) { + if (macros["__C51__"]) return "mcs51"; - } else if (macros["__C251__"]) { + else if (macros["__C251__"]) return "mcs251"; - } else if (macros["__CC_ARM"] === "1") { - var arch = "arm"; - var targetArchArm = macros["__TARGET_ARCH_ARM"]; - var targetArchThumb = macros["__TARGET_ARCH_THUMB"]; - if (targetArchArm === "4" && targetArchThumb === "0") - arch += "v4"; - else if (targetArchArm === "4" && targetArchThumb === "1") - arch += "v4t"; - else if (targetArchArm === "5" && targetArchThumb === "2") - arch += "v5t"; - else if (targetArchArm === "6" && targetArchThumb === "3") - arch += "v6"; - else if (targetArchArm === "6" && targetArchThumb === "4") - arch += "v6t2"; - else if (targetArchArm === "0" && targetArchThumb === "3") - arch += "v6m"; - else if (targetArchArm === "7" && targetArchThumb === "4") - arch += "v7r"; - else if (targetArchArm === "0" && targetArchThumb === "4") - arch += "v7m"; - return arch; - } + else if (macros["__CC_ARM"] === "1") + return guessArmArchitecture(macros["__TARGET_ARCH_ARM"], macros["__TARGET_ARCH_THUMB"]); } function guessEndianness(macros) { |