aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/imports/qbs/ModUtils/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/imports/qbs/ModUtils/utils.js')
-rw-r--r--share/qbs/imports/qbs/ModUtils/utils.js47
1 files changed, 41 insertions, 6 deletions
diff --git a/share/qbs/imports/qbs/ModUtils/utils.js b/share/qbs/imports/qbs/ModUtils/utils.js
index 79bcd9935..28ac2244e 100644
--- a/share/qbs/imports/qbs/ModUtils/utils.js
+++ b/share/qbs/imports/qbs/ModUtils/utils.js
@@ -498,14 +498,14 @@ var BlackboxOutputArtifactTracker = (function () {
return BlackboxOutputArtifactTracker;
})();
-function guessArchitecture(m) {
- function hasAnyOf(m, tokens) {
- for (var i = 0; i < tokens.length; ++i) {
- if (m[tokens[i]] !== undefined)
- return true;
- }
+function hasAnyOf(m, tokens) {
+ for (var i = 0; i < tokens.length; ++i) {
+ if (m[tokens[i]] !== undefined)
+ return true;
}
+}
+function guessArchitecture(m) {
var architecture;
if (m) {
// based on the search algorithm from qprocessordetection.h in qtbase
@@ -571,3 +571,38 @@ function guessArchitecture(m) {
return Utilities.canonicalArchitecture(architecture);
}
+
+function guessTargetPlatform(m) {
+ if (m) {
+ if (hasAnyOf(m, ["__ANDROID__", "ANDROID"]))
+ return "android";
+ if (hasAnyOf(m, ["__QNXNTO__"]))
+ return "qnx";
+ if (hasAnyOf(m, ["__INTEGRITY"]))
+ return "integrity";
+ if (hasAnyOf(m, ["__vxworks"]))
+ return "vxworks";
+ if (hasAnyOf(m, ["__APPLE__"]))
+ return "darwin";
+ if (hasAnyOf(m, ["WIN32", "_WIN32", "__WIN32__", "__NT__"]))
+ return "windows";
+ if (hasAnyOf(m, ["_AIX"]))
+ return "aix";
+ if (hasAnyOf(m, ["hpux", "__hpux"]))
+ return "hpux";
+ if (hasAnyOf(m, ["__sun", "sun"]))
+ return "solaris";
+ if (hasAnyOf(m, ["__linux__", "__linux"]))
+ return "linux";
+ if (hasAnyOf(m, ["__FreeBSD__", "__DragonFly__", "__FreeBSD_kernel__"]))
+ return "freebsd";
+ if (hasAnyOf(m, ["__NetBSD__"]))
+ return "netbsd";
+ if (hasAnyOf(m, ["__OpenBSD__"]))
+ return "openbsd";
+ if (hasAnyOf(m, ["__GNU__"]))
+ return "hurd";
+ if (hasAnyOf(m, ["__HAIKU__"]))
+ return "haiku";
+ }
+}