From af9a307c1574c307a25d9d2da3c5c3f1a496bac7 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@nokia.com>
Date: Fri, 29 Apr 2011 14:07:14 +0200
Subject: [PATCH] QmlJSDebug: Enable compilation of library also for Symbian

---
 .../qml/qmljsdebugger/qmljsdebugger-lib.pri         | 13 +++++++++----
 src/libs/utils/buildablehelperlibrary.cpp           |  4 ++--
 src/libs/utils/buildablehelperlibrary.h             |  1 +
 .../qt4projectmanager/debugginghelperbuildtask.cpp  |  2 ++
 src/plugins/qt4projectmanager/qmakestep.cpp         |  3 +--
 .../qt4projectmanager/qmldebugginglibrary.cpp       |  1 +
 6 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri
index 98f98ab713c..6d27a573079 100644
--- a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri
+++ b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri
@@ -4,10 +4,15 @@
 QT += declarative script
 INCLUDEPATH += $$PWD/include
 
-DEBUGLIB=QmlJSDebugger
-CONFIG(debug, debug|release) {
-    windows:DEBUGLIB = QmlJSDebuggerd
+symbian {
+    LIBNAME = QmLJSDebugger.lib
+} else {
+    CONFIG(debug, debug|release) {
+        LIBNAME = QmlJSDebuggerd
+    } else {
+        LIBNAME = QmlJSDebugger
+    }
 }
-LIBS += -L$$PWD -l$$DEBUGLIB
+LIBS += -L$$PWD -l$$LIBNAME
 
 DEFINES += QMLJSDEBUGGER
diff --git a/src/libs/utils/buildablehelperlibrary.cpp b/src/libs/utils/buildablehelperlibrary.cpp
index dd05b7ffffc..73a25497ed8 100644
--- a/src/libs/utils/buildablehelperlibrary.cpp
+++ b/src/libs/utils/buildablehelperlibrary.cpp
@@ -273,8 +273,8 @@ bool BuildableHelperLibrary::buildHelper(const BuildHelperArguments &arguments,
         return false;
     }
     log->append(QCoreApplication::translate("ProjectExplorer::BuildableHelperLibrary",
-                                            "Running %1 ...\n").arg(makeFullPath));
-    if (!runBuildProcess(proc, makeFullPath, QStringList(), 120000, false, log, errorMessage))
+                                            "Running %1 %2 ...\n").arg(makeFullPath, arguments.makeArguments.join(" ")));
+    if (!runBuildProcess(proc, makeFullPath, arguments.makeArguments, 120000, false, log, errorMessage))
         return false;
     return true;
 }
diff --git a/src/libs/utils/buildablehelperlibrary.h b/src/libs/utils/buildablehelperlibrary.h
index d6a8227eb72..06dcd468e24 100644
--- a/src/libs/utils/buildablehelperlibrary.h
+++ b/src/libs/utils/buildablehelperlibrary.h
@@ -80,6 +80,7 @@ public:
         QStringList qmakeArguments;
 
         QString makeCommand;
+        QStringList makeArguments;
     };
 
     static bool buildHelper(const BuildHelperArguments &arguments,
diff --git a/src/plugins/qt4projectmanager/debugginghelperbuildtask.cpp b/src/plugins/qt4projectmanager/debugginghelperbuildtask.cpp
index fc6c407081e..b232de9dbc2 100644
--- a/src/plugins/qt4projectmanager/debugginghelperbuildtask.cpp
+++ b/src/plugins/qt4projectmanager/debugginghelperbuildtask.cpp
@@ -175,8 +175,10 @@ bool DebuggingHelperBuildTask::buildDebuggingHelper(QFutureInterface<void> &futu
         if (qmlDebuggingDirectory.isEmpty())
             return false;
         arguments.directory = qmlDebuggingDirectory;
+        arguments.makeArguments += QLatin1String("all"); // build debug and release
         if (!QmlDebuggingLibrary::build(arguments, output, &m_errorMessage))
             return false;
+        arguments.makeArguments.clear();
     }
     future.setProgressValue(4);
 
diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp
index c59b4a62bd1..1931262b7ed 100644
--- a/src/plugins/qt4projectmanager/qmakestep.cpp
+++ b/src/plugins/qt4projectmanager/qmakestep.cpp
@@ -333,8 +333,7 @@ bool QMakeStep::isQmlDebuggingLibrarySupported(QString *reason) const
 
     if (!qt4BuildConfiguration()->qtVersion()->qtAbis().isEmpty()) {
         ProjectExplorer::Abi abi = qt4BuildConfiguration()->qtVersion()->qtAbis().first();
-        if (abi.os() == ProjectExplorer::Abi::SymbianOS
-                || abi.osFlavor() == ProjectExplorer::Abi::MaemoLinuxFlavor) {
+        if (abi.osFlavor() == ProjectExplorer::Abi::MaemoLinuxFlavor) {
             if (reason)
                 reason->clear();
 //               *reason = tr("Qml debugging on device not yet supported.");
diff --git a/src/plugins/qt4projectmanager/qmldebugginglibrary.cpp b/src/plugins/qt4projectmanager/qmldebugginglibrary.cpp
index ce3485af755..bf7bc508417 100644
--- a/src/plugins/qt4projectmanager/qmldebugginglibrary.cpp
+++ b/src/plugins/qt4projectmanager/qmldebugginglibrary.cpp
@@ -61,6 +61,7 @@ QString QmlDebuggingLibrary::libraryByInstallData(const QString &qtInstallData,
         binFilenames << QLatin1String("QmlJSDebugger.lib");
     }
     binFilenames << QLatin1String("libQmlJSDebugger.a");
+    binFilenames << QLatin1String("QmlJSDebugger.prl"); // Symbian. Note that the actual lib is in EPOCROOT
 
     return byInstallDataHelper(sourcePath(), sourceFileNames(), directories, binFilenames, false);
 }
-- 
GitLab