Android: fix make command for latest NDK

Change-Id: I8c54ac146a96c11d6df5a7e5c791314799119b5f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-11-06 15:59:11 +01:00
parent 8dd8bd2fc8
commit ebdeb87241
3 changed files with 18 additions and 8 deletions

View File

@@ -427,6 +427,13 @@ FileName AndroidConfig::gdbPath(const Abi &abi, const QString &ndkToolChainVersi
return toolPath(abi, ndkToolChainVersion).appendString(QLatin1String("-gdb" QTC_HOST_EXE_SUFFIX));
}
FileName AndroidConfig::makePath() const
{
const QString makePath = QString::fromLatin1("%1/prebuilt/%2/bin/make" QTC_HOST_EXE_SUFFIX)
.arg(m_ndkLocation.toString()).arg(toolchainHost());
return FileName::fromString(makePath);
}
FileName AndroidConfig::openJDKBinPath() const
{
FileName path = m_openJDKLocation;

View File

@@ -133,6 +133,7 @@ public:
const QString &ndkToolChainVersion) const;
Utils::FileName gdbPath(const ProjectExplorer::Abi &abi, const QString &ndkToolChainVersion) const;
Utils::FileName makePath() const;
Utils::FileName keytoolPath() const;

View File

@@ -208,20 +208,22 @@ FileNameList AndroidToolChain::suggestedMkspecList() const
QString AndroidToolChain::makeCommand(const Environment &env) const
{
FileName makePath = AndroidConfigurations::currentConfig().makePath();
if (makePath.exists())
return makePath.toString();
const Utils::FileNameList extraDirectories
= Utils::transform(AndroidConfigurations::currentConfig().makeExtraSearchDirectories(),
[](const QString &s) { return Utils::FileName::fromString(s); });
if (HostOsInfo::isWindowsHost()) {
FileName tmp = env.searchInPath("ma-make.exe", extraDirectories);
if (!tmp.isEmpty())
return tmp.toString();
tmp = env.searchInPath("mingw32-make", extraDirectories);
return tmp.isEmpty() ? QLatin1String("mingw32-make") : tmp.toString();
makePath = env.searchInPath("ma-make.exe", extraDirectories);
if (!makePath.isEmpty())
return makePath.toString();
makePath = env.searchInPath("mingw32-make", extraDirectories);
return makePath.isEmpty() ? QLatin1String("mingw32-make") : makePath.toString();
}
QString make = "make";
FileName tmp = env.searchInPath(make, extraDirectories);
return tmp.isEmpty() ? make : tmp.toString();
makePath = env.searchInPath("make", extraDirectories);
return makePath.isEmpty() ? "make" : makePath.toString();
}
QString AndroidToolChain::ndkToolChainVersion() const