Make QNX a separate OS type

Limits conflicts with Linux tool chains and debuggers.

Change-Id: Ie6408aecbc2828e8be53c46cf579441ccaba19bb
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
James McDonnell
2016-12-16 14:02:26 -05:00
parent 32a098d24d
commit e69c2eb2d5
7 changed files with 57 additions and 4 deletions

View File

@@ -26,6 +26,7 @@
#include "qnxutils.h"
#include "qnxqtversion.h"
#include <utils/algorithm.h>
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
#include <utils/synchronousprocess.h>
@@ -251,10 +252,28 @@ QList<QnxTarget> QnxUtils::findTargets(const Utils::FileName &basePath)
qWarning() << libc << "has more than one ABI ... processing all";
FileName path = FileName::fromString(iterator.filePath());
for (auto abi : abis)
result.append(QnxTarget(path, abi));
for (Abi abi : abis)
result.append(QnxTarget(path, QnxUtils::convertAbi(abi)));
}
}
return result;
}
Abi QnxUtils::convertAbi(const Abi &abi)
{
if (abi.os() == Abi::LinuxOS && abi.osFlavor() == Abi::GenericLinuxFlavor) {
return Abi(abi.architecture(),
Abi::QnxOS,
Abi::GenericQnxFlavor,
abi.binaryFormat(),
abi.wordWidth());
} else {
return abi;
}
}
QList<Abi> QnxUtils::convertAbis(const QList<Abi> &abis)
{
return Utils::transform(abis, &QnxUtils::convertAbi);
}