OSDN Git Service

GCC: Identify meego compiler
authorTobias Hunger <tobias.hunger@nokia.com>
Wed, 11 May 2011 10:14:07 +0000 (12:14 +0200)
committerTobias Hunger <tobias.hunger@nokia.com>
Wed, 11 May 2011 10:14:56 +0000 (12:14 +0200)
src/plugins/projectexplorer/gcctoolchain.cpp

index a5ba5e9..7659b81 100644 (file)
@@ -182,13 +182,13 @@ static QList<ProjectExplorer::Abi> guessGccAbi(const QString &m)
     foreach (const QString &p, parts) {
         if (p == QLatin1String("unknown") || p == QLatin1String("pc") || p == QLatin1String("none")
             || p == QLatin1String("gnu") || p == QLatin1String("uclibc")
-            || p == QLatin1String("86_64") || p == QLatin1String("redhat")) {
+            || p == QLatin1String("86_64") || p == QLatin1String("redhat") || p == QLatin1String("gnueabi")) {
             continue;
         } else if (p == QLatin1String("i386") || p == QLatin1String("i486") || p == QLatin1String("i586")
                    || p == QLatin1String("i686") || p == QLatin1String("x86")) {
             arch = ProjectExplorer::Abi::X86Architecture;
             width = 32;
-        } else if (p == QLatin1String("arm")) {
+        } else if (p == QLatin1String("arm") || p == QLatin1String("armv5tel")) {
             arch = ProjectExplorer::Abi::ArmArchitecture;
             width = 32;
         } else if (p == QLatin1String("mipsel")) {
@@ -203,7 +203,12 @@ static QList<ProjectExplorer::Abi> guessGccAbi(const QString &m)
             width = 64;
         } else if (p == QLatin1String("linux") || p == QLatin1String("linux6e")) {
             os = ProjectExplorer::Abi::LinuxOS;
-            flavor = ProjectExplorer::Abi::GenericLinuxFlavor;
+            if (flavor == Abi::UnknownFlavor)
+                flavor = ProjectExplorer::Abi::GenericLinuxFlavor;
+            format = ProjectExplorer::Abi::ElfFormat;
+        } else if (p == QLatin1String("meego")) {
+            os = ProjectExplorer::Abi::LinuxOS;
+            flavor = ProjectExplorer::Abi::MeegoLinuxFlavor;
             format = ProjectExplorer::Abi::ElfFormat;
         } else if (p == QLatin1String("symbianelf")) {
             os = ProjectExplorer::Abi::SymbianOS;
@@ -880,6 +885,9 @@ void ProjectExplorerPlugin::testGccAbiGuessing_data()
             << QString::fromLatin1("x86_64-redhat-linux")
             << (QStringList() << QLatin1String("x86-linux-generic-elf-64bit")
                               << QLatin1String("x86-linux-generic-elf-32bit"));
+    QTest::newRow("Linux 7") // Meego
+                << QString::fromLatin1("armv5tel-meego-linux-gnueabi")
+                << (QStringList() << QLatin1String("arm-linux-meego-elf-32bit"));
     QTest::newRow("Mingw 1")
             << QString::fromLatin1("i686-w64-mingw32")
             << (QStringList() << QLatin1String("x86-windows-msys-pe-64bit")