aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/sdcc.js
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2020-04-16 13:07:28 +0200
committerIvan Komissarov <abbapoh@gmail.com>2020-04-16 13:07:28 +0200
commit04240d47225f06eb36df4eec2270813a78a44344 (patch)
tree06dc4ad265583413912a23ccfaaf1fdee04ed2ac /share/qbs/modules/cpp/sdcc.js
parentebda20ac2677085d79f5a6fab31a282cbcd958d5 (diff)
parent99d009c0ae5558d86159206e7a27d4ed7e8ade28 (diff)
Merge branch 'master' into wip/ci-ios
Diffstat (limited to 'share/qbs/modules/cpp/sdcc.js')
-rw-r--r--share/qbs/modules/cpp/sdcc.js22
1 files changed, 18 insertions, 4 deletions
diff --git a/share/qbs/modules/cpp/sdcc.js b/share/qbs/modules/cpp/sdcc.js
index 70d0506b9..147fa160f 100644
--- a/share/qbs/modules/cpp/sdcc.js
+++ b/share/qbs/modules/cpp/sdcc.js
@@ -90,10 +90,24 @@ function guessEndianness(macros) {
}
function guessVersion(macros) {
- return { major: parseInt(macros["__SDCC_VERSION_MAJOR"], 10),
- minor: parseInt(macros["__SDCC_VERSION_MINOR"], 10),
- patch: parseInt(macros["__SDCC_VERSION_PATCH"], 10),
- found: macros["SDCC"] }
+ if ("__SDCC_VERSION_MAJOR" in macros
+ && "__SDCC_VERSION_MINOR" in macros
+ && "__SDCC_VERSION_PATCH" in macros) {
+ return { major: parseInt(macros["__SDCC_VERSION_MAJOR"], 10),
+ minor: parseInt(macros["__SDCC_VERSION_MINOR"], 10),
+ patch: parseInt(macros["__SDCC_VERSION_PATCH"], 10),
+ found: macros["SDCC"] }
+ } else if ("__SDCC" in macros) {
+ var versions = macros["__SDCC"].split("_");
+ if (versions.length === 3) {
+ return {
+ major: parseInt(versions[0], 10),
+ minor: parseInt(versions[1], 10),
+ patch: parseInt(versions[2], 10),
+ found: macros["SDCC"] };
+ }
+ }
+ return { found: false };
}
function dumpMacros(compilerFilePath, architecture) {