From f257f19b03e009c239bbcd0463744cb28b21504d Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Mon, 9 Nov 2009 18:34:38 +0100
Subject: [PATCH] Some missing defines for Symbian tool chains.

Reviewed-by: dt
---
 .../qt4projectmanager/qt-s60/gccetoolchain.cpp        | 11 +++++++++++
 src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h  |  1 +
 .../qt4projectmanager/qt-s60/rvcttoolchain.cpp        |  5 +++--
 .../qt4projectmanager/qt-s60/winscwtoolchain.cpp      |  7 +++----
 .../qt4projectmanager/qt-s60/winscwtoolchain.h        |  1 -
 5 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
index 3c467bb1cb8..ab4bb0df8df 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 53cd0515c59..84d30909dc2 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 f12c509f828..46524f72d30 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 572f1c76fb0..0d9b27cf8a9 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 c37faaaf034..54f25cba484 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;
 };
 
-- 
GitLab