From cc93a08b1b3605f05a61e47c0e5a4aeb5dbdf913 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Mon, 2 Aug 2010 13:01:07 +0200
Subject: [PATCH] Fix use of SUBST drives and symbian

Task-number: QTCREATORBUG-1224
Reviewed-by: aportale
---
 src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp | 4 +++-
 src/plugins/qt4projectmanager/qt-s60/s60devices.cpp    | 6 ++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
index 7f0966bfeff..274e91471ef 100644
--- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
@@ -44,8 +44,10 @@ using namespace Qt4ProjectManager::Internal;
 static QString gcceCommand(const QString &dir)
 {
     ProjectExplorer::Environment env = ProjectExplorer::Environment::systemEnvironment();
-    if (!dir.isEmpty())
+    if (!dir.isEmpty()) {
         env.prependOrSetPath(dir + QLatin1String("/bin"));
+        env.prependOrSetPath(dir);
+    }
     QString gcce = QLatin1String("arm-none-symbianelf-gcc");
 #ifdef Q_OS_WIN
     gcce += QLatin1String(".exe");
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp
index 087b6219466..94760f07455 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devices.cpp
@@ -549,7 +549,9 @@ QList<ProjectExplorer::HeaderPath> S60ToolChainMixin::epocHeaderPaths() const
 
 void S60ToolChainMixin::addEpocToEnvironment(ProjectExplorer::Environment *env) const
 {
-    const QString epocRootPath(S60Devices::cleanedRootPath(m_device.epocRoot));
+    QString epocRootPath(m_device.epocRoot);
+    if (!epocRootPath.endsWith(QChar('/')))
+        epocRootPath.append(QChar('/'));
 
     env->prependOrSetPath(QDir::toNativeSeparators(epocRootPath + QLatin1String("epoc32/tools"))); // e.g. make.exe
     env->prependOrSetPath(QDir::toNativeSeparators(epocRootPath + QLatin1String("epoc32/gcc/bin"))); // e.g. gcc.exe
@@ -559,7 +561,7 @@ void S60ToolChainMixin::addEpocToEnvironment(ProjectExplorer::Environment *env)
     if (!sbsHome.isEmpty())
         env->prependOrSetPath(sbsHome + QDir::separator() + QLatin1String("bin"));
     // No longer set EPOCDEVICE as it conflicts with packaging
-    env->set(QLatin1String("EPOCROOT"), QDir::toNativeSeparators(epocRootPath));
+    env->set(QLatin1String("EPOCROOT"), QDir::toNativeSeparators(S60Devices::cleanedRootPath(epocRootPath)));
 }
 
 static const char *gnuPocHeaderPathsC[] = {
-- 
GitLab