Android: Inline special constructor into only user

... in a attempt to unify ToolChain class interfaces.

Change-Id: I9135576492a4b8080317aecbe7b74775340e62e8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2019-05-16 12:49:40 +02:00
parent cffc09e53d
commit b38657bcf6
2 changed files with 12 additions and 17 deletions

View File

@@ -197,12 +197,22 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(CToolChainList
auto targetItr = ClangTargets.constBegin();
while (targetItr != ClangTargets.constEnd()) {
const Abi &abi = targetItr.value();
ToolChain *tc = findToolChain(compilerCommand, lang, targetItr.key(), alreadyKnown);
const QString target = targetItr.key();
ToolChain *tc = findToolChain(compilerCommand, lang, target, alreadyKnown);
if (tc) {
qCDebug(androidTCLog) << "Tool chain already known" << abi.toString() << lang;
} else {
qCDebug(androidTCLog) << "New Clang toolchain found" << abi.toString() << lang;
auto atc = new AndroidToolChain(targetItr.key(), lang);
auto atc = new AndroidToolChain;
atc->setOriginalTargetTriple(target);
atc->setLanguage(lang);
atc->setTargetAbi(ClangTargets[target]);
atc->setPlatformCodeGenFlags({"-target", target});
atc->setPlatformLinkerFlags({"-target", target});
atc->setDetection(ToolChain::AutoDetection);
atc->setDisplayName(QString("Android Clang (%1, %2)")
.arg(ToolChainManager::displayNameOfLanguageId(lang),
AndroidConfig::displayName(abi)));
atc->resetToolChain(compilerCommand);
tc = atc;
}
@@ -221,19 +231,5 @@ AndroidToolChain::AndroidToolChain()
}
AndroidToolChain::AndroidToolChain(const QString& target, Core::Id languageId)
: ClangToolChain(Constants::ANDROID_TOOLCHAIN_ID)
{
setOriginalTargetTriple(target);
setLanguage(languageId);
setTargetAbi(ClangTargets[target]);
setPlatformCodeGenFlags({"-target", target});
setPlatformLinkerFlags({"-target", target});
setDetection(AutoDetection);
setDisplayName(QString::fromLatin1("Android Clang (%1, %2)")
.arg(ToolChainManager::displayNameOfLanguageId(languageId),
AndroidConfig::displayName(targetAbi())));
}
} // namespace Internal
} // namespace Android