From ebdeb87241a19556480233bcc64c301fb528355c Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Mon, 6 Nov 2017 15:59:11 +0100 Subject: [PATCH] Android: fix make command for latest NDK Change-Id: I8c54ac146a96c11d6df5a7e5c791314799119b5f Reviewed-by: Tobias Hunger Reviewed-by: Vikas Pachdha --- src/plugins/android/androidconfigurations.cpp | 7 +++++++ src/plugins/android/androidconfigurations.h | 1 + src/plugins/android/androidtoolchain.cpp | 18 ++++++++++-------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 39480e9a2c4..9720fda932b 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -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; diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index 7424be1d14e..9145d07cd4b 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -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; diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index ed95a8c1519..e44370a0df0 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -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