summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2022-02-12 09:54:51 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2022-02-15 06:58:15 +0000
commit8bb6f26a7d44e94172bce45a59410e7ce6e021f1 (patch)
tree575090b5bcb57b3563eee03ae564d7b4bf578dd5
parent2d5a48b4beaad63b82ddc00c2cad0a5226f2a898 (diff)
downloadqbs-8bb6f26a7d44e94172bce45a59410e7ce6e021f1.tar.gz
Fix detection of architectures and target platforms for Open Watcom
... inside of a probe by using the functions from the ModUtils library. Change-Id: If84bc393e9e85ba50bed105dd645aaef2cff004f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
-rw-r--r--share/qbs/imports/qbs/ModUtils/utils.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/share/qbs/imports/qbs/ModUtils/utils.js b/share/qbs/imports/qbs/ModUtils/utils.js
index 0745c4588..3fb4c170f 100644
--- a/share/qbs/imports/qbs/ModUtils/utils.js
+++ b/share/qbs/imports/qbs/ModUtils/utils.js
@@ -538,8 +538,11 @@ function guessArchitecture(m) {
break;
}
}
- } else if (hasAnyOf(m, ["__i386", "__i386__", "_M_IX86", "__386__"])) {
+ } else if (hasAnyOf(m, ["__i386", "__i386__", "__386__"])) {
architecture = "x86";
+ } else if (hasAnyOf(m, ["_M_IX86"])) {
+ var code = parseInt(m["_M_IX86"]);
+ architecture = (code < 300) ? "x86_16" : "x86";
} else if (hasAnyOf(m, ["__x86_64", "__x86_64__", "__amd64", "_M_X64", "_M_AMD64"])) {
architecture = "x86_64";
if (hasAnyOf(m, ["__x86_64h", "__x86_64h__"]))
@@ -610,8 +613,12 @@ function guessTargetPlatform(m) {
return "vxworks";
if (hasAnyOf(m, ["__APPLE__"]))
return "darwin";
- if (hasAnyOf(m, ["WIN32", "_WIN32", "__WIN32__", "__NT__"]))
+ if (hasAnyOf(m, ["WIN32", "_WIN32", "__WIN32__", "__NT__", "__WINDOWS__"]))
return "windows";
+ if (hasAnyOf(m, ["MSDOS", "__DOS__"]))
+ return "dos";
+ if (hasAnyOf(m, ["__OS2__"]))
+ return "os2";
if (hasAnyOf(m, ["_AIX"]))
return "aix";
if (hasAnyOf(m, ["hpux", "__hpux"]))