aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/imports/qbs/Probes
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2019-05-10 12:27:28 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2019-05-10 13:20:54 +0000
commitb59edb3e2e67453318f5f2f48c86c3f45e8b1e46 (patch)
tree5f58dbc0a7928632ff4f92063ef16147f9428ed8 /share/qbs/imports/qbs/Probes
parentdb4a3f1f91a5ddec9c6447e28ced46e6e381ac18 (diff)
bare-metal: Implement cpp.compilerDefinesByLanguage for IAR toolchain
Change-Id: Id18528b1f6f6a98bec3f877e70c660180078a66c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/imports/qbs/Probes')
-rw-r--r--share/qbs/imports/qbs/Probes/IarProbe.qbs17
1 files changed, 16 insertions, 1 deletions
diff --git a/share/qbs/imports/qbs/Probes/IarProbe.qbs b/share/qbs/imports/qbs/Probes/IarProbe.qbs
index 12b3c46eb..04d338268 100644
--- a/share/qbs/imports/qbs/Probes/IarProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/IarProbe.qbs
@@ -34,6 +34,7 @@ import "../../../modules/cpp/iar.js" as IAR
PathProbe {
// Inputs
property string compilerFilePath;
+ property stringList enableDefinesByLanguage;
property string _nullDevice: qbs.nullDevice
@@ -43,14 +44,28 @@ PathProbe {
property int versionMajor;
property int versionMinor;
property int versionPatch;
+ property var compilerDefinesByLanguage;
configure: {
+ compilerDefinesByLanguage = {};
+
if (!File.exists(compilerFilePath)) {
found = false;
return;
}
- var macros = IAR.dumpMacros(compilerFilePath, qbs, _nullDevice);
+ var languages = enableDefinesByLanguage;
+ if (!languages || languages.length === 0)
+ languages = ["c"];
+
+ for (var i = 0; i < languages.length; ++i) {
+ var tag = languages[i];
+ compilerDefinesByLanguage[tag] = IAR.dumpMacros(
+ compilerFilePath, tag);
+ }
+
+ var macros = compilerDefinesByLanguage["c"]
+ || compilerDefinesByLanguage["cpp"];
architecture = IAR.guessArchitecture(macros);
endianness = IAR.guessEndianness(macros);