diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
index 3c467bb1cb846e3dff87d2f897398f7b442d7fbf..ab4bb0df8df73aeb0bdfde09cb9ff6d1f5623895 100644
--- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
@@ -51,6 +51,17 @@ ToolChain::ToolChainType GCCEToolChain::type() const
     return ToolChain::GCCE;
 }
 
+QByteArray GCCEToolChain::predefinedMacros()
+{
+    if (m_predefinedMacros.isEmpty()) {
+        ProjectExplorer::GccToolChain::predefinedMacros();
+        m_predefinedMacros += "\n"
+                "#define __GCCE__\n"
+                "#define __SYMBIAN32__\n";
+    }
+    return m_predefinedMacros;
+}
+
 QList<HeaderPath> GCCEToolChain::systemHeaderPaths()
 {
     if (m_systemHeaderPaths.isEmpty()) {
diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h
index 53cd0515c59db6045d8f97d55ba0f2756807641f..84d30909dc2f4ef39cbbf78f94ef9ca5a3550f1b 100644
--- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h
+++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h
@@ -41,6 +41,7 @@ class GCCEToolChain : public ProjectExplorer::GccToolChain
 {
 public:
     GCCEToolChain(S60Devices::Device device, const QString &gcceCommand);
+    QByteArray predefinedMacros();
     QList<ProjectExplorer::HeaderPath> systemHeaderPaths();
     void addToEnvironment(ProjectExplorer::Environment &env);
     ProjectExplorer::ToolChain::ToolChainType type() const;
diff --git a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
index f12c509f8287e8e8b4c1a6719aa8b49bafbae18a..46524f72d3079881a2aedbf9c7da95ecd62433a3 100644
--- a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
@@ -77,7 +77,7 @@ QByteArray RVCTToolChain::predefinedMacros()
 {
     // see http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0205f/Babbacdb.html
     updateVersion();
-    QByteArray ba = QString::fromLocal8Bit(
+    QByteArray ba = QString::fromLatin1(
         "#define __arm__arm__\n"
         "#define __ARMCC_VERSION %1%2%3%4\n"
         "#define __ARRAY_OPERATORS\n"
@@ -93,10 +93,11 @@ QByteArray RVCTToolChain::predefinedMacros()
         "#define __TARGET_FEATURE_HALFWORD\n"
         "#define __TARGET_FEATURE_THUMB\n"
         "#define _WCHAR_T\n"
+        "#define __SYMBIAN32__\n"
         ).arg(m_major, 1, 10, QLatin1Char('0'))
         .arg(m_minor, 1, 10, QLatin1Char('0'))
         .arg("0")
-        .arg(m_build, 3, 10, QLatin1Char('0')).toLocal8Bit();
+        .arg(m_build, 3, 10, QLatin1Char('0')).toLatin1();
     return ba;
 }
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
index 572f1c76fb0df5145e96d575643dde018698e871..0d9b27cf8a98cbae0c23dac9dab10e7c2c78b4e3 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
@@ -29,6 +29,8 @@
 
 #include "winscwtoolchain.h"
 
+#include <QtCore/QByteArray>
+#include <QtCore/QString>
 #include <QtDebug>
 
 using namespace ProjectExplorer;
@@ -50,8 +52,7 @@ ToolChain::ToolChainType WINSCWToolChain::type() const
 
 QByteArray WINSCWToolChain::predefinedMacros()
 {
-    // TODO
-    return m_predefinedMacros;
+    return QByteArray("#define __SYMBIAN32__\n");
 }
 
 QList<HeaderPath> WINSCWToolChain::systemHeaderPaths()
@@ -67,10 +68,8 @@ QList<HeaderPath> WINSCWToolChain::systemHeaderPaths()
 QStringList WINSCWToolChain::systemIncludes() const
 {
     if (m_carbidePath.isEmpty()) {
-        qDebug() << "no carbide path set";
         ProjectExplorer::Environment env = ProjectExplorer::Environment::systemEnvironment();
         QString symIncludesValue = env.value("MWCSYM2INCLUDES");
-        qDebug() << "includes:" << symIncludesValue.split(";");
         if (!symIncludesValue.isEmpty())
             return symIncludesValue.split(";");
     } else {
diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
index c37faaaf034b7cbfde87bda9311edb3bc5c649c2..54f25cba48436f832f87e6786a962123ab8803b5 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
@@ -57,7 +57,6 @@ private:
     QString m_deviceId;
     QString m_deviceName;
     QString m_deviceRoot;
-    QByteArray m_predefinedMacros;
     QList<ProjectExplorer::HeaderPath> m_systemHeaderPaths;
 };