From 8adef29bf61ed55c045e53b5c81cc038a82ad57d Mon Sep 17 00:00:00 2001
From: Tobias Hunger <qt-info@nokia.com>
Date: Wed, 18 Nov 2009 15:41:10 +0100
Subject: [PATCH] Use S60 mixin in winscwtoolchain.

 * Use S60 mixin in winscw toolchain. Get rid of settings duplicated
   into the winscwtoolchain.

Reviewed-By: dt
---
 .../qt4projectmanager/qt-s60/winscwtoolchain.cpp       | 10 ++++------
 src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h |  3 +++
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
index c1b71098402..618623e1aad 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
@@ -37,7 +37,8 @@ using namespace ProjectExplorer;
 using namespace Qt4ProjectManager::Internal;
 
 WINSCWToolChain::WINSCWToolChain(S60Devices::Device device, const QString &mwcDirectory)
-    : m_carbidePath(mwcDirectory),
+    : m_mixin(device),
+    m_carbidePath(mwcDirectory),
     m_deviceId(device.id),
     m_deviceName(device.name),
     m_deviceRoot(device.epocRoot)
@@ -61,6 +62,7 @@ QList<HeaderPath> WINSCWToolChain::systemHeaderPaths()
         foreach (const QString &value, systemIncludes()) {
             m_systemHeaderPaths.append(HeaderPath(value, HeaderPath::GlobalHeaderPath));
         }
+        m_systemHeaderPaths += m_mixin.epocHeaderPaths();
     }
     return m_systemHeaderPaths;
 }
@@ -101,11 +103,7 @@ void WINSCWToolChain::addToEnvironment(ProjectExplorer::Environment &env)
         env.set("MWSYM2LIBRARYFILES", "MSL_All_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib");
         env.prependOrSetPath(QString("%1\\x86Build\\Symbian_Tools\\Command_Line_Tools").arg(m_carbidePath)); // compiler
     }
-    env.prependOrSetPath(QString("%1\\epoc32\\tools").arg(m_deviceRoot)); // e.g. make.exe
-    env.prependOrSetPath(QString("%1\\epoc32\\gcc\\bin").arg(m_deviceRoot)); // e.g. gcc.exe
-    env.prependOrSetPath(QString("%1\\perl\\bin").arg(m_deviceRoot)); // e.g. perl.exe (special SDK version)
-    env.set("EPOCDEVICE", QString("%1:%2").arg(m_deviceId, m_deviceName));
-    env.set("EPOCROOT", S60Devices::cleanedRootPath(m_deviceRoot));
+    m_mixin.addEpocToEnvironment(&env);
 }
 
 QString WINSCWToolChain::makeCommand() const
diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
index 54f25cba484..c38870f6be4 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
@@ -53,6 +53,9 @@ protected:
 
 private:
     QStringList systemIncludes() const;
+
+    const S60ToolChainMixin m_mixin;
+
     QString m_carbidePath;
     QString m_deviceId;
     QString m_deviceName;
-- 
GitLab