diff --git a/README b/README
new file mode 100644
index 0000000000000000000000000000000000000000..54270d752598f7eedd9353b5a60bb81913c39db5
--- /dev/null
+++ b/README
@@ -0,0 +1,23 @@
+QtCreator 1.0.0
+===============
+QtCreator is a crossplatform C++ IDE for development with the Qt framework.
+
+Supported Platforms
+===================
+The binary packages support
+
+Windows XP SP2, Windows Vista
+(K)Ubuntu Linux 5.04, (K)Ubuntu Linux 7.04 32bit and 64bit
+Mac OS 10.4 and later
+
+Building the sources require Qt 4.5.0 or later.
+
+Third-party components
+======================
+QtCreator includes the following third-party components,
+we thank the authors who made this possible:
+
+* Open Source front-end for C++ (license MIT), enhanced for use in Qt Creator
+  Roberto Raggi <roberto.raggi@gmail.com>
+  QtCreator/src/shared/cplusplus
+
diff --git a/src/plugins/coreplugin/html/images/product_logo.png b/src/plugins/coreplugin/html/images/product_logo.png
index 8b8ff34a748b3fee6306279c4553b7d811f1025c..d7aa9d1992f4a96ec4d804a315cd33bc52c98348 100644
Binary files a/src/plugins/coreplugin/html/images/product_logo.png and b/src/plugins/coreplugin/html/images/product_logo.png differ
diff --git a/src/plugins/coreplugin/html/qt.css b/src/plugins/coreplugin/html/qt.css
index 1e1dc5884c190560a21bffabbacc5907b0d4fa1d..7b5c7670d7a7c053800568552d80f258010087af 100644
--- a/src/plugins/coreplugin/html/qt.css
+++ b/src/plugins/coreplugin/html/qt.css
@@ -231,7 +231,6 @@ Layout TOP - Logo und Welcome Text
 	
 	float:left;
 	width:210px;
-	padding-top:70px;
 		
 	}
 
@@ -244,7 +243,8 @@ Layout TOP - Logo und Welcome Text
 .layout_top .welcome_text{
 	
 	margin-left:210px;
-	padding-top:50px;
+	padding-top:20px;
+        padding-bottom:30px;
 	
 	
 	}
diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index 96befc27d7ef7af33ce4a9c571b0c7f946e1da7c..dcc0382668bc373970ec86130c5a7179b57399fd 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -266,8 +266,6 @@ void GdbEngine::initializeConnections()
     // Output
     connect(&m_outputCollector, SIGNAL(byteDelivery(QByteArray)),
             SLOT(readDebugeeOutput(QByteArray)));
-    connect(this, SIGNAL(gdbResponseAvailable()),
-        this, SLOT(handleResponse()), Qt::QueuedConnection);
 
     connect(this, SIGNAL(gdbOutputAvailable(QString,QString)),
         q, SLOT(showDebuggerOutput(QString,QString)),
@@ -337,12 +335,6 @@ void GdbEngine::gdbProcError(QProcess::ProcessError error)
     q->exitDebugger();
 }
 
-static void skipSpaces(const char *&from, const char *to)
-{
-    while (from != to && QChar(*from).isSpace())
-        ++from;
-}
-
 static inline bool isNameChar(char c)
 {
     // could be 'stopped' or 'shlibs-added'
@@ -365,15 +357,6 @@ static void dump(const char *first, const char *middle, const QString & to)
 }
 #endif
 
-static void skipTerminator(const char *&from, const char *to)
-{
-    skipSpaces(from, to);
-    // skip '(gdb)'
-    if (from[0] == '(' && from[1] == 'g' && from[3] == 'b' && from[4] == ')')
-        from += 5;
-    skipSpaces(from, to);
-}
-
 void GdbEngine::readDebugeeOutput(const QByteArray &data)
 {
     emit applicationOutputAvailable(m_outputCodec->toUnicode(
@@ -385,235 +368,180 @@ void GdbEngine::debugMessage(const QString &msg)
     emit gdbOutputAvailable("debug:", msg);
 }
 
-// called asyncronously as response to Gdb stdout output in
-// gdbResponseAvailable()
-void GdbEngine::handleResponse()
+void GdbEngine::handleResponse(const QByteArray &buff)
 {
     static QTime lastTime;
 
     emit gdbOutputAvailable("            ", currentTime());
-    emit gdbOutputAvailable("stdout:", m_inbuffer);
+    emit gdbOutputAvailable("stdout:", buff);
 
 #if 0
     qDebug() // << "#### start response handling #### "
         << currentTime()
         << lastTime.msecsTo(QTime::currentTime()) << "ms,"
-        << "buf: " << m_inbuffer.left(1500) << "..."
-        //<< "buf: " << m_inbuffer
-        << "size:" << m_inbuffer.size();
+        << "buf: " << buff.left(1500) << "..."
+        //<< "buf: " << buff
+        << "size:" << buff.size();
 #else
-    //qDebug() << "buf: " << m_inbuffer;
+    //qDebug() << "buf: " << buff;
 #endif
 
     lastTime = QTime::currentTime();
 
-    while (1) {
-        if (m_inbuffer.isEmpty())
-            break;
-
-        const char *from = m_inbuffer.constData();
-        // FIXME: check for line ending in '\n(gdb)\n'
-        const char *to = from + m_inbuffer.size();
-        const char *inner;
-
-        //const char *oldfrom = from;
-
-        //skipSpaces(from, to);
-        skipTerminator(from, to);
-        int token = -1;
+    if (buff.isEmpty() || buff == "(gdb) ")
+        return;
 
-        // token is a sequence of numbers
-        for (inner = from; inner != to; ++inner)
-            if (*inner < '0' || *inner > '9')
-                break;
-        if (from != inner) {
-            token = QString(QByteArray(from, inner - from)).toInt();
-            from = inner;
-            //qDebug() << "found token " << token;
-        }
+    const char *from = buff.constData();
+    const char *to = from + buff.size();
+    const char *inner;
 
-        if (from == to) {
-            //qDebug() << "Returning: " << toString();
+    int token = -1;
+    // token is a sequence of numbers
+    for (inner = from; inner != to; ++inner)
+        if (*inner < '0' || *inner > '9')
             break;
-        }
+    if (from != inner) {
+        token = QByteArray(from, inner - from).toInt();
+        from = inner;
+        //qDebug() << "found token " << token;
+    }
+
+    // next char decides kind of record
+    const char c = *from++;
+    //qDebug() << "CODE:" << c;
+    switch (c) {
+        case '*':
+        case '+':
+        case '=': {
+            QByteArray asyncClass;
+            for (; from != to; ++from) {
+                const char c = *from;
+                if (!isNameChar(c))
+                    break;
+                asyncClass += *from;
+            }
+            //qDebug() << "ASYNCCLASS" << asyncClass;
 
-        // next char decides kind of record
-        const char c = *from++;
-        //qDebug() << "CODE:" << c;
-
-        switch (c) {
-            case '*':
-            case '+':
-            case '=': {
-                QByteArray asyncClass;
-                for (; from != to; ++from) {
-                    const char c = *from;
-                    if (!isNameChar(c))
-                        break;
-                    asyncClass += *from;
-                }
-                //qDebug() << "ASYNCCLASS" << asyncClass;
-
-                GdbMi record;
-                while (from != to && *from == ',') {
-                    ++from; // skip ','
-                    GdbMi data;
-                    data.parseResultOrValue(from, to);
-                    if (data.isValid()) {
-                        //qDebug() << "parsed response: " << data.toString();
-                        record.m_children += data;
-                        record.m_type = GdbMi::Tuple;
-                    }
+            GdbMi record;
+            while (from != to) {
+                if (*from != ',') {
+                    qDebug() << "MALFORMED ASYNC OUTPUT" << from;
+                    return;
                 }
-                //dump(oldfrom, from, record.toString());
-                skipTerminator(from, to);
-                m_inbuffer = QByteArray(from, to - from);
-                if (asyncClass == "stopped") {
-                    handleAsyncOutput(record);
-                } else if (asyncClass == "running") {
-                    // Archer has 'thread-id="all"' here
-                #ifdef Q_OS_MAC
-                } else if (asyncClass == "shlibs-updated") {
-                    // MAC announces updated libs
-                } else if (asyncClass == "shlibs-added") {
-                    // MAC announces added libs
-                    // {shlib-info={num="2", name="libmathCommon.A_debug.dylib",
-                    // kind="-", dyld-addr="0x7f000", reason="dyld", requested-state="Y",
-                    // state="Y", path="/usr/lib/system/libmathCommon.A_debug.dylib", 
-                    // description="/usr/lib/system/libmathCommon.A_debug.dylib",
-                    // loaded_addr="0x7f000", slide="0x7f000", prefix=""}}
-                #endif
-                } else {
-                    qDebug() << "IGNORED ASYNC OUTPUT "
-                        << asyncClass << record.toString();
+                ++from; // skip ','
+                GdbMi data;
+                data.parseResultOrValue(from, to);
+                if (data.isValid()) {
+                    //qDebug() << "parsed response: " << data.toString();
+                    record.m_children += data;
+                    record.m_type = GdbMi::Tuple;
                 }
-                break;
             }
-
-            case '~': {
-                QByteArray data = GdbMi::parseCString(from, to);
-                m_pendingConsoleStreamOutput += data;
-                m_inbuffer = QByteArray(from, to - from);
-                break;
+            if (asyncClass == "stopped") {
+                handleAsyncOutput(record);
+            } else if (asyncClass == "running") {
+                // Archer has 'thread-id="all"' here
+            #ifdef Q_OS_MAC
+            } else if (asyncClass == "shlibs-updated") {
+                // MAC announces updated libs
+            } else if (asyncClass == "shlibs-added") {
+                // MAC announces added libs
+                // {shlib-info={num="2", name="libmathCommon.A_debug.dylib",
+                // kind="-", dyld-addr="0x7f000", reason="dyld", requested-state="Y",
+                // state="Y", path="/usr/lib/system/libmathCommon.A_debug.dylib",
+                // description="/usr/lib/system/libmathCommon.A_debug.dylib",
+                // loaded_addr="0x7f000", slide="0x7f000", prefix=""}}
+            #endif
+            } else {
+                qDebug() << "IGNORED ASYNC OUTPUT "
+                    << asyncClass << record.toString();
             }
+            break;
+        }
 
-            case '@': {
-                QByteArray data = GdbMi::parseCString(from, to);
-                m_pendingTargetStreamOutput += data;
-                m_inbuffer = QByteArray(from, to - from);
-                break;
-            }
+        case '~': {
+            m_pendingConsoleStreamOutput += GdbMi::parseCString(from, to);
+            break;
+        }
 
-            case '&': {
-                QByteArray data = GdbMi::parseCString(from, to);
-                m_pendingLogStreamOutput += data;
-                m_inbuffer = QByteArray(from, to - from);
-                // On Windows, the contents seem to depend on the debugger
-                // version and/or OS version used.
-                if (data.startsWith("warning:"))
-                    qq->showApplicationOutput(data);
-                break;
-            }
+        case '@': {
+            m_pendingTargetStreamOutput += GdbMi::parseCString(from, to);
+            break;
+        }
 
-            case '^': {
-                GdbResultRecord record;
-
-                record.token = token;
-
-                for (inner = from; inner != to; ++inner)
-                    if (*inner < 'a' || *inner > 'z')
-                        break;
-
-                QByteArray resultClass(from, inner - from);
-
-                if (resultClass == "done")
-                    record.resultClass = GdbResultDone;
-                else if (resultClass == "running")
-                    record.resultClass = GdbResultRunning;
-                else if (resultClass == "connected")
-                    record.resultClass = GdbResultConnected;
-                else if (resultClass == "error")
-                    record.resultClass = GdbResultError;
-                else if (resultClass == "exit")
-                    record.resultClass = GdbResultExit;
-                else
-                    record.resultClass = GdbResultUnknown;
-
-                from = inner;
-                skipSpaces(from, to);
-                if (from != to && *from == ',') {
-                    ++from;
-                    record.data.parseTuple_helper(from, to);
-                    record.data.m_type = GdbMi::Tuple;
-                    record.data.m_name = "data";
-                }
-                skipSpaces(from, to);
-                skipTerminator(from, to);
-
-                //qDebug() << "\nLOG STREAM:" + m_pendingLogStreamOutput;
-                //qDebug() << "\nTARGET STREAM:" + m_pendingTargetStreamOutput;
-                //qDebug() << "\nCONSOLE STREAM:" + m_pendingConsoleStreamOutput;
-                record.data.setStreamOutput("logstreamoutput",
-                    m_pendingLogStreamOutput);
-                record.data.setStreamOutput("targetstreamoutput",
-                    m_pendingTargetStreamOutput);
-                record.data.setStreamOutput("consolestreamoutput",
-                    m_pendingConsoleStreamOutput);
-                QByteArray custom = m_customOutputForToken[token];
-                if (!custom.isEmpty())
-                    record.data.setStreamOutput("customvaluecontents",
-                        '{' + custom + '}');
-                //m_customOutputForToken.remove(token);
-                m_pendingLogStreamOutput.clear();
-                m_pendingTargetStreamOutput.clear();
-                m_pendingConsoleStreamOutput.clear();
-
-                //dump(oldfrom, from, record.toString());
-                m_inbuffer = QByteArray(from, to - from);
-                handleResultRecord(record);
-                break;
-            }
-            default: {
-                qDebug() << "FIXME: UNKNOWN CODE: " << c << " IN " << m_inbuffer;
-                m_inbuffer = QByteArray(from, to - from);
-                break;
-            }
+        case '&': {
+            QByteArray data = GdbMi::parseCString(from, to);
+            m_pendingLogStreamOutput += data;
+            // On Windows, the contents seem to depend on the debugger
+            // version and/or OS version used.
+            if (data.startsWith("warning:"))
+                qq->showApplicationOutput(data);
+            break;
         }
-    }
 
-    //qDebug() << "##### end response handling ####\n\n\n"
-    //    << currentTime() << lastTime.msecsTo(QTime::currentTime());
-    lastTime = QTime::currentTime();
-}
+        case '^': {
+            GdbResultRecord record;
 
-#ifdef Q_OS_MAC
-static void fixMac(QByteArray &out)
-{
-    // HACK: gdb on Mac mixes MI1 and MI2 syntax. Not nice.
-    // it returns:   9^done,locals={{name="a"},{name="w"}}
-    // instead of:   9^done,locals=[{name="a"},{name="w"}]
-    if (!out.contains("locals={{name"))
-        return;
+            record.token = token;
 
-    static const QByteArray termArray("(gdb) ");
-    int pos = out.indexOf(termArray);
-    if (pos == -1)
-        return;
+            for (inner = from; inner != to; ++inner)
+                if (*inner < 'a' || *inner > 'z')
+                    break;
 
-    int pos1 = out.indexOf("={{");
-    if (pos1 == -1)
-        return;
+            QByteArray resultClass(from, inner - from);
 
-    int pos2 = out.indexOf("]]");
-    if (pos2 == -1)
-        return;
+            if (resultClass == "done")
+                record.resultClass = GdbResultDone;
+            else if (resultClass == "running")
+                record.resultClass = GdbResultRunning;
+            else if (resultClass == "connected")
+                record.resultClass = GdbResultConnected;
+            else if (resultClass == "error")
+                record.resultClass = GdbResultError;
+            else if (resultClass == "exit")
+                record.resultClass = GdbResultExit;
+            else
+                record.resultClass = GdbResultUnknown;
 
-    if (pos1 < pos && pos2 < pos) {
-        out[pos1 + 1] = '[';
-        out[pos2 + 1] = ']';
+            from = inner;
+            if (from != to) {
+                if (*from != ',') {
+                    qDebug() << "MALFORMED RESULT OUTPUT" << from;
+                    return;
+                }
+                ++from;
+                record.data.parseTuple_helper(from, to);
+                record.data.m_type = GdbMi::Tuple;
+                record.data.m_name = "data";
+            }
+
+            //qDebug() << "\nLOG STREAM:" + m_pendingLogStreamOutput;
+            //qDebug() << "\nTARGET STREAM:" + m_pendingTargetStreamOutput;
+            //qDebug() << "\nCONSOLE STREAM:" + m_pendingConsoleStreamOutput;
+            record.data.setStreamOutput("logstreamoutput",
+                m_pendingLogStreamOutput);
+            record.data.setStreamOutput("targetstreamoutput",
+                m_pendingTargetStreamOutput);
+            record.data.setStreamOutput("consolestreamoutput",
+                m_pendingConsoleStreamOutput);
+            QByteArray custom = m_customOutputForToken[token];
+            if (!custom.isEmpty())
+                record.data.setStreamOutput("customvaluecontents",
+                    '{' + custom + '}');
+            //m_customOutputForToken.remove(token);
+            m_pendingLogStreamOutput.clear();
+            m_pendingTargetStreamOutput.clear();
+            m_pendingConsoleStreamOutput.clear();
+
+            handleResultRecord(record);
+            break;
+        }
+        default: {
+            qDebug() << "UNKNOWN RESPONSE TYPE" << c;
+            break;
+        }
     }
 }
-#endif
 
 void GdbEngine::readGdbStandardError()
 {
@@ -622,34 +550,32 @@ void GdbEngine::readGdbStandardError()
 
 void GdbEngine::readGdbStandardOutput()
 {
-    // This is the function called whenever the Gdb process created
-    // output. As a rule of thumb, stdout contains _real_ Gdb output
-    // as responses to our command
-    // and "spontaneous" events like messages on loaded shared libraries.
-    // OTOH, stderr contains application output produced by qDebug etc.
-    // There is no organized way to pass application stdout output.
+    int newstart = 0;
+    int scan = m_inbuffer.size();
 
-    QByteArray out = m_gdbProc.readAllStandardOutput();
+    m_inbuffer.append(m_gdbProc.readAllStandardOutput());
 
-    //qDebug() << "\n\n\nPLUGIN OUT: '" <<  out.data() << "'\n\n\n";
-
-    #ifdef Q_OS_MAC
-    fixMac(out);
-    #endif
-
-    m_inbuffer.append(out);
-    //QTC_ASSERT(!m_inbuffer.isEmpty(), return);
-
-    char c = m_inbuffer[m_inbuffer.size() - 1];
-    static const QByteArray termArray("(gdb) ");
-    if (out.indexOf(termArray) == -1 && c != 10 && c != 13) {
-        //qDebug() << "\n\nBuffer not yet filled, waiting for more data to arrive";
-        //qDebug() << m_inbuffer.data() << m_inbuffer.size();
-        //qDebug() << "\n\n";
-        return;
+    while (newstart < m_inbuffer.size()) {
+        int start = newstart;
+        int end = m_inbuffer.indexOf('\n', scan);
+        if (end < 0) {
+            m_inbuffer.remove(0, start);
+            return;
+        }
+        newstart = end + 1;
+        scan = newstart;
+        if (end == start)
+            continue;
+        #ifdef Q_OS_WIN
+        if (m_inbuffer.at(end - 1) == '\r') {
+            --end;
+            if (end == start)
+                continue;
+        }
+        #endif
+        handleResponse(QByteArray::fromRawData(m_inbuffer.constData() + start, end - start));
     }
-
-    emit gdbResponseAvailable();
+    m_inbuffer.clear();
 }
 
 void GdbEngine::interruptInferior()
@@ -1660,8 +1586,14 @@ bool GdbEngine::startDebugger()
             sendCommand("-exec-arguments " + q->m_processArgs.join(" "));
         #ifndef Q_OS_MAC
         sendCommand("set auto-solib-add off");
-        #endif
         sendCommand("info target", GdbStart);
+        #else
+        // On MacOS, breaking in at the entry point wreaks havoc.
+        sendCommand("tbreak main");
+        m_waitingForFirstBreakpointToBeHit = true;
+        qq->notifyInferiorRunningRequested();
+        sendCommand("-exec-run");
+        #endif
     }
 
     // set all to "pending"
@@ -1683,6 +1615,9 @@ void GdbEngine::continueInferior()
 
 void GdbEngine::handleStart(const GdbResultRecord &response)
 {
+#ifdef Q_OS_MAC
+    Q_UNUSED(response);
+#else
     if (response.resultClass == GdbResultDone) {
         // [some leading stdout here]
         // stdout:&"        Entry point: 0x80831f0  0x08048134 - 0x08048147 is .interp\n"
@@ -1701,6 +1636,7 @@ void GdbEngine::handleStart(const GdbResultRecord &response)
     } else if (response.resultClass == GdbResultError) {
         debugMessage("FETCHING START ADDRESS FAILED: " + response.toString());
     }
+#endif
 }
 
 void GdbEngine::handleAttach()
diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h
index a434b9a055dec6937992feb5d2b8129e88c17eb6..b247202c534d3242902d4530714d435d9a9a8607 100644
--- a/src/plugins/debugger/gdbengine.h
+++ b/src/plugins/debugger/gdbengine.h
@@ -88,7 +88,6 @@ public:
     ~GdbEngine();
 
 signals:
-    void gdbResponseAvailable();
     void gdbInputAvailable(const QString &prefix, const QString &msg);
     void gdbOutputAvailable(const QString &prefix, const QString &msg);
     void applicationOutputAvailable(const QString &output);
@@ -169,8 +168,6 @@ private:
     void updateLocals();
 
 private slots:
-    void handleResponse();
-
     void gdbProcError(QProcess::ProcessError error);
     void readGdbStandardOutput();
     void readGdbStandardError();
@@ -178,6 +175,7 @@ private slots:
 
 private:
     int terminationIndex(const QByteArray &buffer, int &length);
+    void handleResponse(const QByteArray &buff);
     void handleStart(const GdbResultRecord &response);
     void handleAttach();
     void handleAqcuiredInferior();
diff --git a/src/tools/qtlibspatcher/binpatch.cpp b/src/tools/qtlibspatcher/binpatch.cpp
index 8029857c8b28ecfdc8229d1cf9013a2c4bcb6a14..3dd376ac05deb37b240e555097f863ce1bc7360f 100644
--- a/src/tools/qtlibspatcher/binpatch.cpp
+++ b/src/tools/qtlibspatcher/binpatch.cpp
@@ -32,9 +32,9 @@
 #include <locale>
 
 #include <qglobal.h>
- 
+
 #include "binpatch.h"
- 
+
 #ifdef Q_OS_WIN
 #	define strcasecmp _stricmp
 #	define strncasecmp _strnicmp
@@ -108,7 +108,7 @@ bool BinPatch::patchHelper(char *inbuffer, const char *oldstr, const char *newst
                     write = false;
                     break;
                 }
-                
+
                 long oldsize = -1;
                 if (useLength) { //VC60
                     oldsize = (unsigned char)(*(inbuffer-1));
@@ -121,7 +121,7 @@ bool BinPatch::patchHelper(char *inbuffer, const char *oldstr, const char *newst
                         }
 
                         oldsize = getBufferStringLength(inbuffer, inend);
-                        
+
                         if (oldsize < 0) {
                             *rw = (long)(inend-inbuffer); //rewind, entire string not in buffer
                             break;
@@ -206,8 +206,8 @@ bool BinPatch::patch(const char *oldstr, const char *newstr)
             break;
         len = fread(data, sizeof(char), sizeof(data), input);
     } while(!(feof(input) && (len <= oldlen || len <= newlen)));
-    
+
     fclose(input);
-    
+
     return true;
 }
diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp
index 6205b8b76702e7a172fd77eea386360925aa0adf..74806ba061751f69c1775a88850aa18ebdf33121 100644
--- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp
+++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp
@@ -43,8 +43,8 @@
 	const char * const oldInstallBase = QT_INSTALL_DIR;
 	const char * const oldSourceBase = QT_INSTALL_DIR;
 #else
-    const char * const oldSourceBase = "/home/berlin/dev/qt-4.5.0-temp/qt-x11-opensource-src-4.5.0";
-    const char * const oldInstallBase = "/home/berlin/dev/qt-4.5.0-shipping/qt";
+    const char * const oldSourceBase = "/home/berlin/dev/qt-4.5.0-temp/this_path_is_supposed/to_be_very_long/hopefully_this/is_long_enough/qt-x11-opensource-src-4.5.0";
+    const char * const oldInstallBase = "/home/berlin/dev/qt-4.5.0-shipping/this_path_is_supposed/to_be_very_long/hopefully_this/is_long_enough/qt";
 #endif
 
 
@@ -163,422 +163,334 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath)
     static const struct
     {
         const char *fileName;
-        const char *sourceLocation;
     } libraries[] = {
 #ifdef Q_OS_WIN
-        {"/bin/Qt3Supportd4.dll", "/src/qt3support/"},
-        {"/bin/QtCored4.dll", "/src/corelib/"},
-        {"/bin/QtGuid4.dll", "/src/gui/"},
-        {"/bin/QtHelpd4.dll", "/tools/assistant/lib/"},
-        {"/bin/QtNetworkd4.dll", "/src/network/"},
-        {"/bin/QtOpenGLd4.dll", "/src/opengl/"},
-        {"/bin/QtScriptd4.dll", "/src/script/"},
-        {"/bin/QtSqld4.dll", "/src/sql/"},
-        {"/bin/QtSvgd4.dll", "/src/svg/"},
-        {"/bin/QtTestd4.dll", "/src/testlib/"},
-        {"/bin/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"},
-        {"/bin/QtXmld4.dll", "/src/xml/"},
-        {"/bin/QtXmlPatternsd4.dll", "/src/xmlpatterns/"},
-        {"/lib/Qt3Supportd4.dll", "/src/qt3support/"},
-        {"/lib/QtCored4.dll", "/src/corelib/"},
-        {"/lib/QtGuid4.dll", "/src/gui/"},
-        {"/lib/QtHelpd4.dll", "/tools/assistant/lib/"},
-        {"/lib/QtNetworkd4.dll", "/src/network/"},
-        {"/lib/QtOpenGLd4.dll", "/src/opengl/"},
-        {"/lib/QtScriptd4.dll", "/src/script/"},
-        {"/lib/QtSqld4.dll", "/src/sql/"},
-        {"/lib/QtSvgd4.dll", "/src/svg/"},
-        {"/lib/QtTestd4.dll", "/src/testlib/"},
-        {"/lib/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"},
-        {"/lib/QtXmld4.dll", "/src/xml/"},
-        {"/lib/QtXmlPatternsd4.dll", "/src/xmlpatterns/"},
-        {"/plugins/accessible/qtaccessiblecompatwidgetsd4.dll", "/src/plugins/accessible/compat/"},
-        {"/plugins/accessible/qtaccessiblewidgetsd4.dll", "/src/plugins/accessible/widgets/"},
-        {"/plugins/codecs/qcncodecsd4.dll", "/src/plugins/codecs/cn/"},
-        {"/plugins/codecs/qjpcodecsd4.dll", "/src/plugins/codecs/jp/"},
-        {"/plugins/codecs/qkrcodecsd4.dll", "/src/plugins/codecs/kr/"},
-        {"/plugins/codecs/qtwcodecsd4.dll", "/src/plugins/codecs/tw/"},
-        {"/plugins/iconengines/qsvgicond4.dll", "/src/plugins/iconengines/svgiconengine/"},
-        {"/plugins/imageformats/qgifd4.dll", "/src/plugins/imageformats/gif/"},
-        {"/plugins/imageformats/qjpegd4.dll", "/src/plugins/imageformats/jpeg/"},
-        {"/plugins/imageformats/qmngd4.dll", "/src/plugins/imageformats/mng/"},
-        {"/plugins/imageformats/qsvgd4.dll", "/src/plugins/imageformats/svg/"},
-        {"/plugins/imageformats/qtiffd4.dll", "/src/plugins/imageformats/tiff/"},
-        {"/plugins/sqldrivers/qsqlited4.dll", "/src/plugins/sqldrivers/sqlite/"},
-//        {"/plugins/sqldrivers/qsqlodbcd4.dll", "/src/plugins/sqldrivers/odbc/"}
+        { "/bin/Qt3Supportd4.dll" },
+        { "/bin/QtCored4.dll" },
+        { "/bin/QtGuid4.dll" },
+        { "/bin/QtHelpd4.dll" },
+        { "/bin/QtNetworkd4.dll" },
+        { "/bin/QtOpenGLd4.dll" },
+        { "/bin/QtScriptd4.dll" },
+        { "/bin/QtScriptToolsd4.dll" },
+        { "/bin/QtSqld4.dll" },
+        { "/bin/QtSvgd4.dll" },
+        { "/bin/QtTestd4.dll" },
+        { "/bin/QtWebKitd4.dll" },
+        { "/bin/QtXmld4.dll" },
+        { "/bin/QtXmlPatternsd4.dll" },
+        { "/lib/Qt3Supportd4.dll" },
+        { "/lib/QtCored4.dll" },
+        { "/lib/QtGuid4.dll" },
+        { "/lib/QtHelpd4.dll" },
+        { "/lib/QtNetworkd4.dll" },
+        { "/lib/QtOpenGLd4.dll" },
+        { "/lib/QtScriptd4.dll" },
+        { "/lib/QtScriptToolsd4.dll" },
+        { "/lib/QtSqld4.dll" },
+        { "/lib/QtSvgd4.dll" },
+        { "/lib/QtTestd4.dll" },
+        { "/lib/QtWebKitd4.dll" },
+        { "/lib/QtXmld4.dll" },
+        { "/lib/QtXmlPatternsd4.dll" },
+        { "/plugins/accessible/qtaccessiblecompatwidgetsd4.dll" },
+        { "/plugins/accessible/qtaccessiblewidgetsd4.dll" },
+        { "/plugins/codecs/qcncodecsd4.dll" },
+        { "/plugins/codecs/qjpcodecsd4.dll" },
+        { "/plugins/codecs/qkrcodecsd4.dll" },
+        { "/plugins/codecs/qtwcodecsd4.dll" },
+        { "/plugins/iconengines/qsvgicond4.dll" },
+        { "/plugins/imageformats/qgifd4.dll" },
+        { "/plugins/imageformats/qjpegd4.dll" },
+        { "/plugins/imageformats/qmngd4.dll" },
+        { "/plugins/imageformats/qsvgd4.dll" },
+        { "/plugins/imageformats/qtiffd4.dll" },
+        { "/plugins/sqldrivers/qsqlited4.dll" },
+//        { "/plugins/sqldrivers/qsqlodbcd4.dll" }
 #else
-        {"/examples/tools/plugandpaint/plugins/libpnp_basictools.a", "/examples/tools/plugandpaintplugins/basictools"},
-        {"/lib/libQtUiTools.a", "/tools/designer/src/uitools"},
-        {"/demos/shared/libdemo_shared.a", "/demos/shared"},
-
-        {"/plugins/codecs/libqkrcodecs.so.debug", "/plugins/codecs"},
-        {"/plugins/codecs/libqtwcodecs.so.debug", "/plugins/codecs"},
-        {"/plugins/codecs/libqcncodecs.so.debug", "/plugins/codecs"},
-        {"/plugins/codecs/libqjpcodecs.so.debug", "/plugins/codecs"},
-        {"/plugins/iconengines/libqsvgicon.so.debug", "/plugins/iconengines"},
-        {"/plugins/sqldrivers/libqsqlmysql.so.debug", "/plugins/sqldrivers"},
-        {"/plugins/sqldrivers/libqsqlite.so.debug", "/plugins/sqldrivers"},
-        {"/plugins/sqldrivers/libqsqlite2.so.debug", "/plugins/sqldrivers"},
-        {"/plugins/sqldrivers/libqsqlpsql.so.debug", "/plugins/sqldrivers"},
-        {"/plugins/imageformats/libqgif.so.debug", "/plugins/imageformats"},
-        {"/plugins/imageformats/libqtiff.so.debug", "/plugins/imageformats"},
-        {"/plugins/imageformats/libqsvg.so.debug", "/plugins/imageformats"},
-        {"/plugins/imageformats/libqjpeg.so.debug", "/plugins/imageformats"},
-        {"/plugins/imageformats/libqico.so.debug", "/plugins/imageformats"},
-        {"/plugins/imageformats/libqmng.so.debug", "/plugins/imageformats"},
-        {"/plugins/accessible/libqtaccessiblewidgets.so.debug", "/plugins/accessible"},
-        {"/plugins/accessible/libqtaccessiblecompatwidgets.so.debug", "/plugins/accessible"},
-        {"/plugins/designer/libcontainerextension.so.debug", "/plugins/designer"},
-        {"/plugins/designer/libtaskmenuextension.so.debug", "/plugins/designer"},
-        {"/plugins/designer/libqwebview.so.debug", "/plugins/designer"},
-        {"/plugins/designer/libcustomwidgetplugin.so.debug", "/plugins/designer"},
-        {"/plugins/designer/libarthurplugin.so.debug", "/plugins/designer"},
-        {"/plugins/designer/libqt3supportwidgets.so.debug", "/plugins/designer"},
-        {"/plugins/designer/libworldtimeclockplugin.so.debug", "/plugins/designer"},
-        {"/plugins/inputmethods/libqimsw-multi.so.debug", "/plugins/inputmethods"},
-        {"/plugins/script/libqtscriptdbus.so.debug", "/plugins/script"},
-        {"/examples/draganddrop/puzzle/puzzle.debug", "/examples/draganddrop/puzzle"},
-        {"/examples/draganddrop/dropsite/dropsite.debug", "/examples/draganddrop/dropsite"},
-        {"/examples/draganddrop/draggabletext/draggabletext.debug", "/examples/draganddrop/draggabletext"},
-        {"/examples/draganddrop/draggableicons/draggableicons.debug", "/examples/draganddrop/draggableicons"},
-        {"/examples/draganddrop/fridgemagnets/fridgemagnets.debug", "/examples/draganddrop/fridgemagnets"},
-        {"/examples/webkit/formextractor/formExtractor.debug", "/examples/webkit/formextractor"},
-        {"/examples/webkit/previewer/previewer.debug", "/examples/webkit/previewer"},
-        {"/examples/richtext/orderform/orderform.debug", "/examples/richtext/orderform"},
-        {"/examples/richtext/calendar/calendar.debug", "/examples/richtext/calendar"},
-        {"/examples/richtext/syntaxhighlighter/syntaxhighlighter.debug", "/examples/richtext/syntaxhighlighter"},
-        {"/examples/desktop/systray/systray.debug", "/examples/desktop/systray"},
-        {"/examples/desktop/screenshot/screenshot.debug", "/examples/desktop/screenshot"},
-        {"/examples/linguist/arrowpad/arrowpad.debug", "/examples/linguist/arrowpad"},
-        {"/examples/linguist/trollprint/trollprint.debug", "/examples/linguist/trollprint"},
-        {"/examples/linguist/hellotr/hellotr.debug", "/examples/linguist/hellotr"},
-        {"/examples/ipc/sharedmemory/sharedmemory.debug", "/examples/ipc/sharedmemory"},
-        {"/examples/ipc/localfortuneclient/localfortuneclient.debug", "/examples/ipc/localfortuneclient"},
-        {"/examples/ipc/localfortuneserver/localfortuneserver.debug", "/examples/ipc/localfortuneserver"},
-        {"/examples/threads/waitconditions/waitconditions.debug", "/examples/threads/waitconditions"},
-        {"/examples/threads/semaphores/semaphores.debug", "/examples/threads/semaphores"},
-        {"/examples/threads/mandelbrot/mandelbrot.debug", "/examples/threads/mandelbrot"},
-        {"/examples/dbus/listnames/listnames.debug", "/examples/dbus/listnames"},
-        {"/examples/dbus/pingpong/ping.debug", "/examples/dbus/pingpong"},
-        {"/examples/dbus/pingpong/pong.debug", "/examples/dbus/pingpong"},
-        {"/examples/dbus/complexpingpong/complexping.debug", "/examples/dbus/complexpingpong"},
-        {"/examples/dbus/complexpingpong/complexpong.debug", "/examples/dbus/complexpingpong"},
-        {"/examples/dbus/chat/dbus-chat.debug", "/examples/dbus/chat"},
-        {"/examples/dbus/remotecontrolledcar/car/car.debug", "/examples/dbus/remotecontrolledcar/car"},
-        {"/examples/dbus/remotecontrolledcar/controller/controller.debug", "/examples/dbus/remotecontrolledcar/controller"},
-        {"/examples/qtconcurrent/wordcount/wordcount.debug", "/examples/qtconcurrent/wordcount"},
-        {"/examples/qtconcurrent/runfunction/runfunction.debug", "/examples/qtconcurrent/runfunction"},
-        {"/examples/qtconcurrent/progressdialog/progressdialog.debug", "/examples/qtconcurrent/progressdialog"},
-        {"/examples/qtconcurrent/map/mapdemo.debug", "/examples/qtconcurrent/map"},
-        {"/examples/qtconcurrent/imagescaling/imagescaling.debug", "/examples/qtconcurrent/imagescaling"},
-        {"/examples/designer/calculatorform/calculatorform.debug", "/examples/designer/calculatorform"},
-        {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder.debug", "/examples/designer/worldtimeclockbuilder"},
-        {"/examples/designer/calculatorbuilder/calculatorbuilder.debug", "/examples/designer/calculatorbuilder"},
-        {"/examples/sql/drilldown/drilldown.debug", "/examples/sql/drilldown"},
-        {"/examples/sql/masterdetail/masterdetail.debug", "/examples/sql/masterdetail"},
-        {"/examples/sql/tablemodel/tablemodel.debug", "/examples/sql/tablemodel"},
-        {"/examples/sql/relationaltablemodel/relationaltablemodel.debug", "/examples/sql/relationaltablemodel"},
-        {"/examples/sql/querymodel/querymodel.debug", "/examples/sql/querymodel"},
-        {"/examples/sql/cachedtable/cachedtable.debug", "/examples/sql/cachedtable"},
-        {"/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.debug", "/examples/xmlpatterns/qobjectxmlmodel"},
-        {"/examples/xmlpatterns/recipes/recipes.debug", "/examples/xmlpatterns/recipes"},
-        {"/examples/xmlpatterns/filetree/filetree.debug", "/examples/xmlpatterns/filetree"},
-        {"/examples/assistant/simpletextviewer/simpletextviewer.debug", "/examples/assistant/simpletextviewer"},
-        {"/examples/help/simpletextviewer/simpletextviewer.debug", "/examples/help/simpletextviewer"},
-        {"/examples/help/contextsensitivehelp/contextsensitivehelp.debug", "/examples/help/contextsensitivehelp"},
-        {"/examples/help/remotecontrol/remotecontrol.debug", "/examples/help/remotecontrol"},
-        {"/examples/opengl/grabber/grabber.debug", "/examples/opengl/grabber"},
-        {"/examples/opengl/framebufferobject2/framebufferobject2.debug", "/examples/opengl/framebufferobject2"},
-        {"/examples/opengl/hellogl/hellogl.debug", "/examples/opengl/hellogl"},
-        {"/examples/opengl/framebufferobject/framebufferobject.debug", "/examples/opengl/framebufferobject"},
-        {"/examples/opengl/overpainting/overpainting.debug", "/examples/opengl/overpainting"},
-        {"/examples/opengl/pbuffers2/pbuffers2.debug", "/examples/opengl/pbuffers2"},
-        {"/examples/opengl/2dpainting/2dpainting.debug", "/examples/opengl/2dpainting"},
-        {"/examples/opengl/pbuffers/pbuffers.debug", "/examples/opengl/pbuffers"},
-        {"/examples/opengl/samplebuffers/samplebuffers.debug", "/examples/opengl/samplebuffers"},
-        {"/examples/opengl/textures/textures.debug", "/examples/opengl/textures"},
-        {"/examples/graphicsview/elasticnodes/elasticnodes.debug", "/examples/graphicsview/elasticnodes"},
-        {"/examples/graphicsview/collidingmice/collidingmice.debug", "/examples/graphicsview/collidingmice"},
-        {"/examples/graphicsview/portedasteroids/portedasteroids.debug", "/examples/graphicsview/portedasteroids"},
-        {"/examples/graphicsview/padnavigator/padnavigator.debug", "/examples/graphicsview/padnavigator"},
-        {"/examples/graphicsview/portedcanvas/portedcanvas.debug", "/examples/graphicsview/portedcanvas"},
-        {"/examples/graphicsview/diagramscene/diagramscene.debug", "/examples/graphicsview/diagramscene"},
-        {"/examples/graphicsview/dragdroprobot/dragdroprobot.debug", "/examples/graphicsview/dragdroprobot"},
-        {"/examples/mainwindows/menus/menus.debug", "/examples/mainwindows/menus"},
-        {"/examples/mainwindows/mdi/mdi.debug", "/examples/mainwindows/mdi"},
-        {"/examples/mainwindows/sdi/sdi.debug", "/examples/mainwindows/sdi"},
-        {"/examples/mainwindows/recentfiles/recentfiles.debug", "/examples/mainwindows/recentfiles"},
-        {"/examples/mainwindows/application/application.debug", "/examples/mainwindows/application"},
-        {"/examples/mainwindows/dockwidgets/dockwidgets.debug", "/examples/mainwindows/dockwidgets"},
-        {"/examples/widgets/tablet/tablet.debug", "/examples/widgets/tablet"},
-        {"/examples/widgets/shapedclock/shapedclock.debug", "/examples/widgets/shapedclock"},
-        {"/examples/widgets/styles/styles.debug", "/examples/widgets/styles"},
-        {"/examples/widgets/icons/icons.debug", "/examples/widgets/icons"},
-        {"/examples/widgets/charactermap/charactermap.debug", "/examples/widgets/charactermap"},
-        {"/examples/widgets/sliders/sliders.debug", "/examples/widgets/sliders"},
-        {"/examples/widgets/tooltips/tooltips.debug", "/examples/widgets/tooltips"},
-        {"/examples/widgets/windowflags/windowflags.debug", "/examples/widgets/windowflags"},
-        {"/examples/widgets/stylesheet/stylesheet.debug", "/examples/widgets/stylesheet"},
-        {"/examples/widgets/spinboxes/spinboxes.debug", "/examples/widgets/spinboxes"},
-        {"/examples/widgets/validators/validators.debug", "/examples/widgets/validators"},
-        {"/examples/widgets/calculator/calculator.debug", "/examples/widgets/calculator"},
-        {"/examples/widgets/groupbox/groupbox.debug", "/examples/widgets/groupbox"},
-        {"/examples/widgets/scribble/scribble.debug", "/examples/widgets/scribble"},
-        {"/examples/widgets/imageviewer/imageviewer.debug", "/examples/widgets/imageviewer"},
-        {"/examples/widgets/digitalclock/digitalclock.debug", "/examples/widgets/digitalclock"},
-        {"/examples/widgets/lineedits/lineedits.debug", "/examples/widgets/lineedits"},
-        {"/examples/widgets/movie/movie.debug", "/examples/widgets/movie"},
-        {"/examples/widgets/calendarwidget/calendarwidget.debug", "/examples/widgets/calendarwidget"},
-        {"/examples/widgets/wiggly/wiggly.debug", "/examples/widgets/wiggly"},
-        {"/examples/widgets/analogclock/analogclock.debug", "/examples/widgets/analogclock"},
-        {"/examples/widgets/tetrix/tetrix.debug", "/examples/widgets/tetrix"},
-        {"/examples/painting/basicdrawing/basicdrawing.debug", "/examples/painting/basicdrawing"},
-        {"/examples/painting/svgviewer/svgviewer.debug", "/examples/painting/svgviewer"},
-        {"/examples/painting/fontsampler/fontsampler.debug", "/examples/painting/fontsampler"},
-        {"/examples/painting/concentriccircles/concentriccircles.debug", "/examples/painting/concentriccircles"},
-        {"/examples/painting/painterpaths/painterpaths.debug", "/examples/painting/painterpaths"},
-        {"/examples/painting/imagecomposition/imagecomposition.debug", "/examples/painting/imagecomposition"},
-        {"/examples/painting/transformations/transformations.debug", "/examples/painting/transformations"},
-        {"/examples/tools/customcompleter/customcompleter.debug", "/examples/tools/customcompleter"},
-        {"/examples/tools/codecs/codecs.debug", "/examples/tools/codecs"},
-        {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so.debug", "/examples/tools/plugandpaint/plugins"},
-        {"/examples/tools/plugandpaint/plugandpaint.debug", "/examples/tools/plugandpaint"},
-        {"/examples/tools/regexp/regexp.debug", "/examples/tools/regexp"},
-        {"/examples/tools/undoframework/undoframework.debug", "/examples/tools/undoframework"},
-        {"/examples/tools/i18n/i18n.debug", "/examples/tools/i18n"},
-        {"/examples/tools/completer/completer.debug", "/examples/tools/completer"},
-        {"/examples/tools/echoplugin/plugin/libechoplugin.so.debug", "/examples/tools/echoplugin/plugin"},
-        {"/examples/tools/echoplugin/echoplugin.debug", "/examples/tools/echoplugin"},
-        {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so.debug", "/examples/tools/styleplugin/styles"},
-        {"/examples/tools/styleplugin/styleplugin.debug", "/examples/tools/styleplugin"},
-        {"/examples/tools/treemodelcompleter/treemodelcompleter.debug", "/examples/tools/treemodelcompleter"},
-        {"/examples/tools/settingseditor/settingseditor.debug", "/examples/tools/settingseditor"},
-        {"/examples/network/securesocketclient/securesocketclient.debug", "/examples/network/securesocketclient"},
-        {"/examples/network/broadcastreceiver/broadcastreceiver.debug", "/examples/network/broadcastreceiver"},
-        {"/examples/network/downloadmanager/downloadmanager.debug", "/examples/network/downloadmanager"},
-        {"/examples/network/fortuneserver/fortuneserver.debug", "/examples/network/fortuneserver"},
-        {"/examples/network/loopback/loopback.debug", "/examples/network/loopback"},
-        {"/examples/network/http/http.debug", "/examples/network/http"},
-        {"/examples/network/ftp/ftp.debug", "/examples/network/ftp"},
-        {"/examples/network/download/download.debug", "/examples/network/download"},
-        {"/examples/network/fortuneclient/fortuneclient.debug", "/examples/network/fortuneclient"},
-        {"/examples/network/blockingfortuneclient/blockingfortuneclient.debug", "/examples/network/blockingfortuneclient"},
-        {"/examples/network/broadcastsender/broadcastsender.debug", "/examples/network/broadcastsender"},
-        {"/examples/network/threadedfortuneserver/threadedfortuneserver.debug", "/examples/network/threadedfortuneserver"},
-        {"/examples/network/chat/network-chat.debug", "/examples/network/chat"},
-        {"/examples/network/torrent/torrent.debug", "/examples/network/torrent"},
-        {"/examples/qtestlib/tutorial4/tutorial4.debug", "/examples/qtestlib/tutorial4"},
-        {"/examples/qtestlib/tutorial1/tutorial1.debug", "/examples/qtestlib/tutorial1"},
-        {"/examples/qtestlib/tutorial2/tutorial2.debug", "/examples/qtestlib/tutorial2"},
-        {"/examples/qtestlib/tutorial3/tutorial3.debug", "/examples/qtestlib/tutorial3"},
-        {"/examples/tutorials/tutorial/t3/t3.debug", "/examples/tutorials/tutorial/t3"},
-        {"/examples/tutorials/tutorial/t5/t5.debug", "/examples/tutorials/tutorial/t5"},
-        {"/examples/tutorials/tutorial/t2/t2.debug", "/examples/tutorials/tutorial/t2"},
-        {"/examples/tutorials/tutorial/t11/t11.debug", "/examples/tutorials/tutorial/t11"},
-        {"/examples/tutorials/tutorial/t6/t6.debug", "/examples/tutorials/tutorial/t6"},
-        {"/examples/tutorials/tutorial/t13/t13.debug", "/examples/tutorials/tutorial/t13"},
-        {"/examples/tutorials/tutorial/t12/t12.debug", "/examples/tutorials/tutorial/t12"},
-        {"/examples/tutorials/tutorial/t9/t9.debug", "/examples/tutorials/tutorial/t9"},
-        {"/examples/tutorials/tutorial/t1/t1.debug", "/examples/tutorials/tutorial/t1"},
-        {"/examples/tutorials/tutorial/t4/t4.debug", "/examples/tutorials/tutorial/t4"},
-        {"/examples/tutorials/tutorial/t14/t14.debug", "/examples/tutorials/tutorial/t14"},
-        {"/examples/tutorials/tutorial/t8/t8.debug", "/examples/tutorials/tutorial/t8"},
-        {"/examples/tutorials/tutorial/t7/t7.debug", "/examples/tutorials/tutorial/t7"},
-        {"/examples/tutorials/tutorial/t10/t10.debug", "/examples/tutorials/tutorial/t10"},
-        {"/examples/tutorials/addressbook/part2/part2.debug", "/examples/tutorials/addressbook/part2"},
-        {"/examples/tutorials/addressbook/part5/part5.debug", "/examples/tutorials/addressbook/part5"},
-        {"/examples/tutorials/addressbook/part3/part3.debug", "/examples/tutorials/addressbook/part3"},
-        {"/examples/tutorials/addressbook/part4/part4.debug", "/examples/tutorials/addressbook/part4"},
-        {"/examples/tutorials/addressbook/part7/part7.debug", "/examples/tutorials/addressbook/part7"},
-        {"/examples/tutorials/addressbook/part1/part1.debug", "/examples/tutorials/addressbook/part1"},
-        {"/examples/tutorials/addressbook/part6/part6.debug", "/examples/tutorials/addressbook/part6"},
-        {"/examples/xml/streambookmarks/streambookmarks.debug", "/examples/xml/streambookmarks"},
-        {"/examples/xml/saxbookmarks/saxbookmarks.debug", "/examples/xml/saxbookmarks"},
-        {"/examples/xml/xmlstreamlint/xmlstreamlint.debug", "/examples/xml/xmlstreamlint"},
-        {"/examples/xml/dombookmarks/dombookmarks.debug", "/examples/xml/dombookmarks"},
-        {"/examples/xml/rsslisting/rsslisting.debug", "/examples/xml/rsslisting"},
-        {"/examples/layouts/dynamiclayouts/dynamiclayouts.debug", "/examples/layouts/dynamiclayouts"},
-        {"/examples/layouts/flowlayout/flowlayout.debug", "/examples/layouts/flowlayout"},
-        {"/examples/layouts/borderlayout/borderlayout.debug", "/examples/layouts/borderlayout"},
-        {"/examples/layouts/basiclayouts/basiclayouts.debug", "/examples/layouts/basiclayouts"},
-        {"/examples/dialogs/trivialwizard/trivialwizard.debug", "/examples/dialogs/trivialwizard"},
-        {"/examples/dialogs/extension/extension.debug", "/examples/dialogs/extension"},
-        {"/examples/dialogs/standarddialogs/standarddialogs.debug", "/examples/dialogs/standarddialogs"},
-        {"/examples/dialogs/tabdialog/tabdialog.debug", "/examples/dialogs/tabdialog"},
-        {"/examples/dialogs/classwizard/classwizard.debug", "/examples/dialogs/classwizard"},
-        {"/examples/dialogs/findfiles/findfiles.debug", "/examples/dialogs/findfiles"},
-        {"/examples/dialogs/licensewizard/licensewizard.debug", "/examples/dialogs/licensewizard"},
-        {"/examples/dialogs/configdialog/configdialog.debug", "/examples/dialogs/configdialog"},
-        {"/examples/itemviews/coloreditorfactory/coloreditorfactory.debug", "/examples/itemviews/coloreditorfactory"},
-        {"/examples/itemviews/pixelator/pixelator.debug", "/examples/itemviews/pixelator"},
-        {"/examples/itemviews/simplewidgetmapper/simplewidgetmapper.debug", "/examples/itemviews/simplewidgetmapper"},
-        {"/examples/itemviews/puzzle/puzzle.debug", "/examples/itemviews/puzzle"},
-        {"/examples/itemviews/dirview/dirview.debug", "/examples/itemviews/dirview"},
-        {"/examples/itemviews/addressbook/addressbook.debug", "/examples/itemviews/addressbook"},
-        {"/examples/itemviews/spinboxdelegate/spinboxdelegate.debug", "/examples/itemviews/spinboxdelegate"},
-        {"/examples/itemviews/simpletreemodel/simpletreemodel.debug", "/examples/itemviews/simpletreemodel"},
-        {"/examples/itemviews/chart/chart.debug", "/examples/itemviews/chart"},
-        {"/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.debug", "/examples/itemviews/basicsortfiltermodel"},
-        {"/examples/itemviews/customsortfiltermodel/customsortfiltermodel.debug", "/examples/itemviews/customsortfiltermodel"},
-        {"/examples/itemviews/stardelegate/stardelegate.debug", "/examples/itemviews/stardelegate"},
-        {"/examples/itemviews/editabletreemodel/editabletreemodel.debug", "/examples/itemviews/editabletreemodel"},
-        {"/examples/itemviews/simpledommodel/simpledommodel.debug", "/examples/itemviews/simpledommodel"},
-        {"/examples/uitools/multipleinheritance/multipleinheritance.debug", "/examples/uitools/multipleinheritance"},
-        {"/examples/uitools/textfinder/textfinder.debug", "/examples/uitools/textfinder"},
-        {"/examples/script/helloscript/helloscript.debug", "/examples/script/helloscript"},
-        {"/examples/script/marshal/marshal.debug", "/examples/script/marshal"},
-        {"/examples/script/customclass/customclass.debug", "/examples/script/customclass"},
-        {"/examples/script/calculator/calculator.debug", "/examples/script/calculator"},
-        {"/examples/script/context2d/context2d.debug", "/examples/script/context2d"},
-        {"/examples/script/defaultprototypes/defaultprototypes.debug", "/examples/script/defaultprototypes"},
-        {"/examples/script/qscript/qscript.debug", "/examples/script/qscript"},
-        {"/examples/script/tetrix/tetrix.debug", "/examples/script/tetrix"},
-        {"/lib/libQtTest.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtDesignerComponents.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtScript.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtDesigner.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtGui.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtSvg.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtXml.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtCLucene.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtCore.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtDBus.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtXmlPatterns.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtHelp.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtSql.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtNetwork.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtOpenGL.so.4.5.0.debug", "/lib"},
-        {"/lib/libQt3Support.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtAssistantClient.so.4.5.0.debug", "/lib"},
-        {"/lib/libQtWebKit.so.4.5.0.debug", "/lib"},
-        {"/demos/spreadsheet/spreadsheet.debug", "/demos/spreadsheet"},
-        {"/demos/composition/composition.debug", "/demos/composition"},
-        {"/demos/gradients/gradients.debug", "/demos/gradients"},
-        {"/demos/deform/deform.debug", "/demos/deform"},
-        {"/demos/embeddeddialogs/embeddeddialogs.debug", "/demos/embeddeddialogs"},
-        {"/demos/textedit/textedit.debug", "/demos/textedit"},
-        {"/demos/browser/browser.debug", "/demos/browser"},
-        {"/demos/interview/interview.debug", "/demos/interview"},
-        {"/demos/affine/affine.debug", "/demos/affine"},
-        {"/demos/books/books.debug", "/demos/books"},
-        {"/demos/chip/chip.debug", "/demos/chip"},
-        {"/demos/pathstroke/pathstroke.debug", "/demos/pathstroke"},
-        {"/demos/undo/undo.debug", "/demos/undo"},
-        {"/demos/sqlbrowser/sqlbrowser.debug", "/demos/sqlbrowser"},
-        {"/demos/mainwindow/mainwindow.debug", "/demos/mainwindow"},
-        {"/bin/qcollectiongenerator.debug", "/bin"},
-        {"/bin/qhelpconverter.debug", "/bin"},
-        {"/bin/lupdate.debug", "/bin"},
-        {"/bin/moc.debug", "/bin"},
-        {"/bin/pixeltool.debug", "/bin"},
-        {"/bin/qdbusviewer.debug", "/bin"},
-        {"/bin/qtconfig.debug", "/bin"},
-        {"/bin/qdbusxml2cpp.debug", "/bin"},
-        {"/bin/qdbus.debug", "/bin"},
-        {"/bin/uic3.debug", "/bin"},
-        {"/bin/qhelpgenerator.debug", "/bin"},
-        {"/bin/qt3to4.debug", "/bin"},
-        {"/bin/xmlpatterns.debug", "/bin"},
-        {"/bin/linguist.debug", "/bin"},
-        {"/bin/uic.debug", "/bin"},
-        {"/bin/qtdemo.debug", "/bin"},
-        {"/bin/lrelease.debug", "/bin"},
-        {"/bin/qmake", "/bin"},
-        {"/bin/assistant.debug", "/bin"},
-        {"/bin/rcc.debug", "/bin"},
-        {"/bin/designer.debug", "/bin"},
-        {"/bin/assistant_adp.debug", "/bin"},
-        {"/bin/qdbuscpp2xml.debug", "/bin"},
-
-
-        {"/plugins/codecs/libqkrcodecs.so.debug", "/src/plugins/codecs/kr"},
-        {"/plugins/codecs/libqtwcodecs.so.debug", "/src/plugins/codecs/tw"},
-        {"/plugins/codecs/libqcncodecs.so.debug", "/src/plugins/codecs/cn"},
-        {"/plugins/codecs/libqjpcodecs.so.debug", "/src/plugins/codecs/jp"},
-        {"/plugins/iconengines/libqsvgicon.so.debug", "/src/plugins/iconengines/svgiconengine"},
-        {"/plugins/sqldrivers/libqsqlmysql.so.debug", "/src/plugins/sqldrivers/mysql"},
-        {"/plugins/sqldrivers/libqsqlite.so.debug", "/src/plugins/sqldrivers/sqlite"},
-        {"/plugins/sqldrivers/libqsqlite2.so.debug", "/src/plugins/sqldrivers/sqlite2"},
-        {"/plugins/sqldrivers/libqsqlpsql.so.debug", "/src/plugins/sqldrivers/psql"},
-        {"/plugins/imageformats/libqgif.so.debug", "/src/plugins/imageformats/gif"},
-        {"/plugins/imageformats/libqtiff.so.debug", "/src/plugins/imageformats/tiff"},
-        {"/plugins/imageformats/libqsvg.so.debug", "/src/plugins/imageformats/svg"},
-        {"/plugins/imageformats/libqjpeg.so.debug", "/src/plugins/imageformats/jpeg"},
-        {"/plugins/imageformats/libqico.so.debug", "/src/plugins/imageformats/ico"},
-        {"/plugins/imageformats/libqmng.so.debug", "/src/plugins/imageformats/mng"},
-        {"/plugins/accessible/libqtaccessiblewidgets.so.debug", "/src/plugins/accessible/widgets"},
-        {"/plugins/accessible/libqtaccessiblecompatwidgets.so.debug", "/src/plugins/accessible/compat"},
-        {"/plugins/designer/libcontainerextension.so.debug", "/examples/designer/containerextension"},
-        {"/plugins/designer/libtaskmenuextension.so.debug", "/examples/designer/taskmenuextension"},
-        {"/plugins/designer/libqwebview.so.debug", "/tools/designer/src/plugins/qwebview"},
-        {"/plugins/designer/libcustomwidgetplugin.so.debug", "/examples/designer/customwidgetplugin"},
-        {"/plugins/designer/libarthurplugin.so.debug", "/demos/arthurplugin"},
-        {"/plugins/designer/libarthurplugin.so.debug", "/demos/shared"},
-        {"/plugins/designer/libqt3supportwidgets.so.debug", "/tools/designer/src/plugins/widgets"},
-        {"/plugins/designer/libworldtimeclockplugin.so.debug", "/examples/designer/worldtimeclockplugin"},
-        {"/plugins/inputmethods/libqimsw-multi.so.debug", "/src/plugins/inputmethods/imsw-multi"},
-        {"/plugins/script/libqtscriptdbus.so.debug", "/src/plugins/script/qtdbus"},
-
-        {"/examples/dbus/chat/dbus-chat.debug", "/examples/dbus/dbus-chat"},
-        {"/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder.debug", "/tools/designer/src/uitools"},
-        {"/examples/designer/calculatorbuilder/calculatorbuilder.debug", "/tools/designer/src/uitools"},
-        {"/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so.debug", "/examples/tools/plugandpaintplugins/extrafilters"},
-        {"/examples/tools/styleplugin/styles/libsimplestyleplugin.so.debug", "/examples/tools/styleplugin/plugin"},
-        {"/examples/network/chat/network-chat.debug", "/examples/network/network-chat"},
-        {"/examples/uitools/textfinder/textfinder.debug", "/tools/designer/src/uitools"},
-        {"/examples/script/calculator/calculator.debug", "/tools/designer/src/uitools"},
-        {"/examples/script/tetrix/tetrix.debug", "/tools/designer/src/uitools"},
-
-        {"/lib/libQtTest.so.4.5.0.debug", "/src/testlib"},
-        {"/lib/libQtDesignerComponents.so.4.5.0.debug", "/tools/designer/src/components"},
-        {"/lib/libQtScript.so.4.5.0.debug", "/src/script"},
-        {"/lib/libQtDesigner.so.4.5.0.debug", "/tools/designer/src/lib"},
-        {"/lib/libQtGui.so.4.5.0.debug", "/src/gui"},
-        {"/lib/libQtSvg.so.4.5.0.debug", "/src/svg"},
-        {"/lib/libQtXml.so.4.5.0.debug", "/src/xml"},
-        {"/lib/libQtCLucene.so.4.5.0.debug", "/tools/assistant/lib/fulltextsearch"},
-        {"/lib/libQtCore.so.4.5.0.debug", "/src/corelib"},
-        {"/lib/libQtDBus.so.4.5.0.debug", "/src/dbus"},
-        {"/lib/libQtXmlPatterns.so.4.5.0.debug", "/src/xmlpatterns"},
-        {"/lib/libQtHelp.so.4.5.0.debug", "/tools/assistant/lib"},
-        {"/lib/libQtSql.so.4.5.0.debug", "/src/sql"},
-        {"/lib/libQtNetwork.so.4.5.0.debug", "/src/network"},
-        {"/lib/libQtOpenGL.so.4.5.0.debug", "/src/opengl"},
-        {"/lib/libQt3Support.so.4.5.0.debug", "/src/qt3support"},
-        {"/lib/libQtAssistantClient.so.4.5.0.debug", "/tools/assistant/compat/lib"},
-        {"/lib/libQtWebKit.so.4.5.0.debug", "/src/3rdparty/webkit/WebCore"},
-
-        {"/demos/composition/composition.debug", "/demos/shared"},
-        {"/demos/gradients/gradients.debug", "/demos/shared"},
-        {"/demos/deform/deform.debug", "/demos/shared"},
-        {"/demos/browser/browser.debug", "/tools/designer/src/uitools"},
-        {"/demos/affine/affine.debug", "/demos/shared"},
-        {"/demos/pathstroke/pathstroke.debug", "/demos/shared"},
-
-        {"/bin/qcollectiongenerator.debug", "/tools/assistant/tools/qcollectiongenerator"},
-        {"/bin/qhelpconverter.debug", "/tools/assistant/tools/qhelpconverter"},
-        {"/bin/lupdate.debug", "/tools/linguist/lupdate"},
-        {"/bin/moc.debug", "/src/tools/moc"},
-        {"/bin/pixeltool.debug", "/tools/pixeltool"},
-        {"/bin/qdbusviewer.debug", "/tools/qdbus/qdbusviewer"},
-        {"/bin/qtconfig.debug", "/tools/qtconfig"},
-        {"/bin/qdbusxml2cpp.debug", "/tools/qdbus/qdbusxml2cpp"},
-        {"/bin/qdbus.debug", "/tools/qdbus/qdbus"},
-        {"/bin/uic3.debug", "/src/tools/uic3"},
-        {"/bin/qhelpgenerator.debug", "/tools/assistant/tools/qhelpgenerator"},
-        {"/bin/qt3to4.debug", "/tools/porting/src"},
-        {"/bin/xmlpatterns.debug", "/tools/xmlpatterns"},
-        {"/bin/linguist.debug", "/tools/designer/src/uitools"},
-        {"/bin/linguist.debug", "/tools/linguist/linguist"},
-        {"/bin/uic.debug", "/src/tools/uic"},
-        {"/bin/qtdemo.debug", "/demos/qtdemo"},
-        {"/bin/lrelease.debug", "/tools/linguist/lrelease"},
-        {"/bin/qmake", "/qmake"},
-        {"/bin/assistant.debug", "/tools/assistant/tools/assistant"},
-        {"/bin/rcc.debug", "/src/tools/rcc"},
-        {"/bin/designer.debug", "/tools/designer/src/designer"},
-        {"/bin/assistant_adp.debug", "/tools/assistant/compat"},
-        {"/bin/qdbuscpp2xml.debug", "/tools/qdbus/qdbuscpp2xml"}
+        { "/bin/assistant" },
+        { "/bin/assistant_adp" },
+        { "/bin/designer" },
+        { "/bin/linguist" },
+        { "/bin/lrelease" },
+        { "/bin/lupdate" },
+        { "/bin/moc" },
+        { "/bin/pixeltool" },
+        { "/bin/qcollectiongenerator" },
+        { "/bin/qdbus" },
+        { "/bin/qdbuscpp2xml" },
+        { "/bin/qdbuscpp2xml" },
+        { "/bin/qdbusviewer" },
+        { "/bin/qdbusxml2cpp" },
+        { "/bin/qhelpconverter" },
+        { "/bin/qhelpgenerator" },
+        { "/bin/qmake" },
+        { "/bin/qt3to4" },
+        { "/bin/qtconfig" },
+        { "/bin/qtdemo" },
+        { "/bin/rcc" },
+        { "/bin/uic" },
+        { "/bin/uic3" },
+        { "/bin/xmlpatterns" },
+        { "/demos/affine/affine" },
+        { "/demos/books/books" },
+        { "/demos/browser/browser" },
+        { "/demos/chip/chip" },
+        { "/demos/composition/composition" },
+        { "/demos/deform/deform" },
+        { "/demos/embeddeddialogs/embeddeddialogs" },
+        { "/demos/gradients/gradients" },
+        { "/demos/interview/interview" },
+        { "/demos/mainwindow/mainwindow" },
+        { "/demos/pathstroke/pathstroke" },
+        { "/demos/shared/libdemo_shared.a" },
+        { "/demos/spreadsheet/spreadsheet" },
+        { "/demos/sqlbrowser/sqlbrowser" },
+        { "/demos/textedit/textedit" },
+        { "/demos/undo/undo" },
+        { "/examples/assistant/simpletextviewer/simpletextviewer" },
+        { "/examples/dbus/chat/dbus-chat" },
+        { "/examples/dbus/complexpingpong/complexping" },
+        { "/examples/dbus/complexpingpong/complexpong" },
+        { "/examples/dbus/listnames/listnames" },
+        { "/examples/dbus/pingpong/ping" },
+        { "/examples/dbus/pingpong/pong" },
+        { "/examples/dbus/remotecontrolledcar/car/car" },
+        { "/examples/dbus/remotecontrolledcar/controller/controller" },
+        { "/examples/designer/calculatorbuilder/calculatorbuilder" },
+        { "/examples/designer/calculatorform/calculatorform" },
+        { "/examples/designer/worldtimeclockbuilder/worldtimeclockbuilder" },
+        { "/examples/desktop/screenshot/screenshot" },
+        { "/examples/desktop/systray/systray" },
+        { "/examples/dialogs/classwizard/classwizard" },
+        { "/examples/dialogs/configdialog/configdialog" },
+        { "/examples/dialogs/extension/extension" },
+        { "/examples/dialogs/findfiles/findfiles" },
+        { "/examples/dialogs/licensewizard/licensewizard" },
+        { "/examples/dialogs/standarddialogs/standarddialogs" },
+        { "/examples/dialogs/tabdialog/tabdialog" },
+        { "/examples/dialogs/trivialwizard/trivialwizard" },
+        { "/examples/draganddrop/draggableicons/draggableicons" },
+        { "/examples/draganddrop/draggabletext/draggabletext" },
+        { "/examples/draganddrop/dropsite/dropsite" },
+        { "/examples/draganddrop/fridgemagnets/fridgemagnets" },
+        { "/examples/draganddrop/puzzle/puzzle" },
+        { "/examples/graphicsview/collidingmice/collidingmice" },
+        { "/examples/graphicsview/diagramscene/diagramscene" },
+        { "/examples/graphicsview/dragdroprobot/dragdroprobot" },
+        { "/examples/graphicsview/elasticnodes/elasticnodes" },
+        { "/examples/graphicsview/padnavigator/padnavigator" },
+        { "/examples/graphicsview/portedasteroids/portedasteroids" },
+        { "/examples/graphicsview/portedcanvas/portedcanvas" },
+        { "/examples/help/contextsensitivehelp/contextsensitivehelp" },
+        { "/examples/help/remotecontrol/remotecontrol" },
+        { "/examples/help/simpletextviewer/simpletextviewer" },
+        { "/examples/ipc/localfortuneclient/localfortuneclient" },
+        { "/examples/ipc/localfortuneserver/localfortuneserver" },
+        { "/examples/ipc/sharedmemory/sharedmemory" },
+        { "/examples/itemviews/addressbook/addressbook" },
+        { "/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel" },
+        { "/examples/itemviews/chart/chart" },
+        { "/examples/itemviews/coloreditorfactory/coloreditorfactory" },
+        { "/examples/itemviews/customsortfiltermodel/customsortfiltermodel" },
+        { "/examples/itemviews/dirview/dirview" },
+        { "/examples/itemviews/editabletreemodel/editabletreemodel" },
+        { "/examples/itemviews/pixelator/pixelator" },
+        { "/examples/itemviews/puzzle/puzzle" },
+        { "/examples/itemviews/simpledommodel/simpledommodel" },
+        { "/examples/itemviews/simpletreemodel/simpletreemodel" },
+        { "/examples/itemviews/simplewidgetmapper/simplewidgetmapper" },
+        { "/examples/itemviews/spinboxdelegate/spinboxdelegate" },
+        { "/examples/itemviews/stardelegate/stardelegate" },
+        { "/examples/layouts/basiclayouts/basiclayouts" },
+        { "/examples/layouts/borderlayout/borderlayout" },
+        { "/examples/layouts/dynamiclayouts/dynamiclayouts" },
+        { "/examples/layouts/flowlayout/flowlayout" },
+        { "/examples/linguist/arrowpad/arrowpad" },
+        { "/examples/linguist/hellotr/hellotr" },
+        { "/examples/linguist/trollprint/trollprint" },
+        { "/examples/mainwindows/application/application" },
+        { "/examples/mainwindows/dockwidgets/dockwidgets" },
+        { "/examples/mainwindows/mdi/mdi" },
+        { "/examples/mainwindows/menus/menus" },
+        { "/examples/mainwindows/recentfiles/recentfiles" },
+        { "/examples/mainwindows/sdi/sdi" },
+        { "/examples/network/blockingfortuneclient/blockingfortuneclient" },
+        { "/examples/network/broadcastreceiver/broadcastreceiver" },
+        { "/examples/network/broadcastsender/broadcastsender" },
+        { "/examples/network/chat/network-chat" },
+        { "/examples/network/download/download" },
+        { "/examples/network/downloadmanager/downloadmanager" },
+        { "/examples/network/fortuneclient/fortuneclient" },
+        { "/examples/network/fortuneserver/fortuneserver" },
+        { "/examples/network/ftp/ftp" },
+        { "/examples/network/http/http" },
+        { "/examples/network/loopback/loopback" },
+        { "/examples/network/securesocketclient/securesocketclient" },
+        { "/examples/network/threadedfortuneserver/threadedfortuneserver" },
+        { "/examples/network/torrent/torrent" },
+        { "/examples/opengl/2dpainting/2dpainting" },
+        { "/examples/opengl/framebufferobject/framebufferobject" },
+        { "/examples/opengl/framebufferobject2/framebufferobject2" },
+        { "/examples/opengl/grabber/grabber" },
+        { "/examples/opengl/hellogl/hellogl" },
+        { "/examples/opengl/overpainting/overpainting" },
+        { "/examples/opengl/pbuffers/pbuffers" },
+        { "/examples/opengl/pbuffers2/pbuffers2" },
+        { "/examples/opengl/samplebuffers/samplebuffers" },
+        { "/examples/opengl/textures/textures" },
+        { "/examples/painting/basicdrawing/basicdrawing" },
+        { "/examples/painting/concentriccircles/concentriccircles" },
+        { "/examples/painting/fontsampler/fontsampler" },
+        { "/examples/painting/imagecomposition/imagecomposition" },
+        { "/examples/painting/painterpaths/painterpaths" },
+        { "/examples/painting/svgviewer/svgviewer" },
+        { "/examples/painting/transformations/transformations" },
+        { "/examples/qtconcurrent/imagescaling/imagescaling" },
+        { "/examples/qtconcurrent/map/mapdemo" },
+        { "/examples/qtconcurrent/progressdialog/progressdialog" },
+        { "/examples/qtconcurrent/runfunction/runfunction" },
+        { "/examples/qtconcurrent/wordcount/wordcount" },
+        { "/examples/qtestlib/tutorial1/tutorial1" },
+        { "/examples/qtestlib/tutorial2/tutorial2" },
+        { "/examples/qtestlib/tutorial3/tutorial3" },
+        { "/examples/qtestlib/tutorial4/tutorial4" },
+        { "/examples/richtext/calendar/calendar" },
+        { "/examples/richtext/orderform/orderform" },
+        { "/examples/richtext/syntaxhighlighter/syntaxhighlighter" },
+        { "/examples/script/calculator/calculator" },
+        { "/examples/script/context2d/context2d" },
+        { "/examples/script/customclass/customclass" },
+        { "/examples/script/defaultprototypes/defaultprototypes" },
+        { "/examples/script/helloscript/helloscript" },
+        { "/examples/script/marshal/marshal" },
+        { "/examples/script/qscript/qscript" },
+        { "/examples/script/tetrix/tetrix" },
+        { "/examples/sql/cachedtable/cachedtable" },
+        { "/examples/sql/drilldown/drilldown" },
+        { "/examples/sql/masterdetail/masterdetail" },
+        { "/examples/sql/querymodel/querymodel" },
+        { "/examples/sql/relationaltablemodel/relationaltablemodel" },
+        { "/examples/sql/tablemodel/tablemodel" },
+        { "/examples/threads/mandelbrot/mandelbrot" },
+        { "/examples/threads/semaphores/semaphores" },
+        { "/examples/threads/waitconditions/waitconditions" },
+        { "/examples/tools/codecs/codecs" },
+        { "/examples/tools/completer/completer" },
+        { "/examples/tools/customcompleter/customcompleter" },
+        { "/examples/tools/echoplugin/echoplugin" },
+        { "/examples/tools/echoplugin/plugin/libechoplugin.so" },
+        { "/examples/tools/i18n/i18n" },
+        { "/examples/tools/plugandpaint/plugandpaint" },
+        { "/examples/tools/plugandpaint/plugins/libpnp_basictools.a" },
+        { "/examples/tools/plugandpaint/plugins/libpnp_extrafilters.so" },
+        { "/examples/tools/regexp/regexp" },
+        { "/examples/tools/settingseditor/settingseditor" },
+        { "/examples/tools/styleplugin/styleplugin" },
+        { "/examples/tools/styleplugin/styles/libsimplestyleplugin.so" },
+        { "/examples/tools/treemodelcompleter/treemodelcompleter" },
+        { "/examples/tools/undoframework/undoframework" },
+        { "/examples/tutorials/addressbook/part1/part1" },
+        { "/examples/tutorials/addressbook/part2/part2" },
+        { "/examples/tutorials/addressbook/part3/part3" },
+        { "/examples/tutorials/addressbook/part4/part4" },
+        { "/examples/tutorials/addressbook/part5/part5" },
+        { "/examples/tutorials/addressbook/part6/part6" },
+        { "/examples/tutorials/addressbook/part7/part7" },
+        { "/examples/tutorials/tutorial/t1/t1" },
+        { "/examples/tutorials/tutorial/t10/t10" },
+        { "/examples/tutorials/tutorial/t11/t11" },
+        { "/examples/tutorials/tutorial/t12/t12" },
+        { "/examples/tutorials/tutorial/t13/t13" },
+        { "/examples/tutorials/tutorial/t14/t14" },
+        { "/examples/tutorials/tutorial/t2/t2" },
+        { "/examples/tutorials/tutorial/t3/t3" },
+        { "/examples/tutorials/tutorial/t4/t4" },
+        { "/examples/tutorials/tutorial/t5/t5" },
+        { "/examples/tutorials/tutorial/t6/t6" },
+        { "/examples/tutorials/tutorial/t7/t7" },
+        { "/examples/tutorials/tutorial/t8/t8" },
+        { "/examples/tutorials/tutorial/t9/t9" },
+        { "/examples/uitools/multipleinheritance/multipleinheritance" },
+        { "/examples/uitools/textfinder/textfinder" },
+        { "/examples/webkit/formextractor/formExtractor" },
+        { "/examples/webkit/previewer/previewer" },
+        { "/examples/widgets/analogclock/analogclock" },
+        { "/examples/widgets/calculator/calculator" },
+        { "/examples/widgets/calendarwidget/calendarwidget" },
+        { "/examples/widgets/charactermap/charactermap" },
+        { "/examples/widgets/digitalclock/digitalclock" },
+        { "/examples/widgets/groupbox/groupbox" },
+        { "/examples/widgets/icons/icons" },
+        { "/examples/widgets/imageviewer/imageviewer" },
+        { "/examples/widgets/lineedits/lineedits" },
+        { "/examples/widgets/movie/movie" },
+        { "/examples/widgets/scribble/scribble" },
+        { "/examples/widgets/shapedclock/shapedclock" },
+        { "/examples/widgets/sliders/sliders" },
+        { "/examples/widgets/spinboxes/spinboxes" },
+        { "/examples/widgets/styles/styles" },
+        { "/examples/widgets/stylesheet/stylesheet" },
+        { "/examples/widgets/tablet/tablet" },
+        { "/examples/widgets/tetrix/tetrix" },
+        { "/examples/widgets/tooltips/tooltips" },
+        { "/examples/widgets/validators/validators" },
+        { "/examples/widgets/wiggly/wiggly" },
+        { "/examples/widgets/windowflags/windowflags" },
+        { "/examples/xml/dombookmarks/dombookmarks" },
+        { "/examples/xml/rsslisting/rsslisting" },
+        { "/examples/xml/saxbookmarks/saxbookmarks" },
+        { "/examples/xml/streambookmarks/streambookmarks" },
+        { "/examples/xml/xmlstreamlint/xmlstreamlint" },
+        { "/examples/xmlpatterns/filetree/filetree" },
+        { "/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel" },
+        { "/examples/xmlpatterns/recipes/recipes" },
+        { "/lib/libQt3Support.so.4.5.0" },
+        { "/lib/libQtAssistantClient.so.4.5.0" },
+        { "/lib/libQtCLucene.so.4.5.0" },
+        { "/lib/libQtCore.so.4.5.0" },
+        { "/lib/libQtDBus.so.4.5.0" },
+        { "/lib/libQtDesigner.so.4.5.0" },
+        { "/lib/libQtDesignerComponents.so.4.5.0" },
+        { "/lib/libQtGui.so.4.5.0" },
+        { "/lib/libQtHelp.so.4.5.0" },
+        { "/lib/libQtNetwork.so.4.5.0" },
+        { "/lib/libQtOpenGL.so.4.5.0" },
+        { "/lib/libQtScript.so.4.5.0" },
+        { "/lib/libQtScriptTools.so.4.5.0" },
+        { "/lib/libQtSql.so.4.5.0" },
+        { "/lib/libQtSvg.so.4.5.0" },
+        { "/lib/libQtTest.so.4.5.0" },
+        { "/lib/libQtUiTools.a" },
+        { "/lib/libQtWebKit.so.4.5.0" },
+        { "/lib/libQtXml.so.4.5.0" },
+        { "/lib/libQtXmlPatterns.so.4.5.0" },
+        { "/plugins/accessible/libqtaccessiblecompatwidgets.so" },
+        { "/plugins/accessible/libqtaccessiblewidgets.so" },
+        { "/plugins/codecs/libqcncodecs.so" },
+        { "/plugins/codecs/libqjpcodecs.so" },
+        { "/plugins/codecs/libqkrcodecs.so" },
+        { "/plugins/codecs/libqtwcodecs.so" },
+        { "/plugins/designer/libarthurplugin.so" },
+        { "/plugins/designer/libcontainerextension.so" },
+        { "/plugins/designer/libcustomwidgetplugin.so" },
+        { "/plugins/designer/libqt3supportwidgets.so" },
+        { "/plugins/designer/libqwebview.so" },
+        { "/plugins/designer/libtaskmenuextension.so" },
+        { "/plugins/designer/libworldtimeclockplugin.so" },
+        { "/plugins/iconengines/libqsvgicon.so" },
+        { "/plugins/imageformats/libqgif.so" },
+        { "/plugins/imageformats/libqico.so" },
+        { "/plugins/imageformats/libqjpeg.so" },
+        { "/plugins/imageformats/libqmng.so" },
+        { "/plugins/imageformats/libqsvg.so" },
+        { "/plugins/imageformats/libqtiff.so" },
+        { "/plugins/inputmethods/libqimsw-multi.so" },
+        { "/plugins/script/libqtscriptdbus.so" },
+        { "/plugins/sqldrivers/libqsqlite.so" },
+        { "/plugins/sqldrivers/libqsqlite2.so" },
+        { "/plugins/sqldrivers/libqsqlmysql.so" },
+        { "/plugins/sqldrivers/libqsqlpsql.so" }
 #endif
     };
 
@@ -593,25 +505,15 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath)
         char * const fileName = allocFileNameCopyAppend(baseQtPath, libraries[i].fileName);
         logFileName(fileName);
 
-        // Make old source path array
-        char * const oldSourcePath = allocFileNameCopyAppend(oldSourceBase,
-                libraries[i].sourceLocation);
-
-        // Make new source path array
-        char * const newSourcePath = allocFileNameCopyAppend(baseQtPath,
-                libraries[i].sourceLocation);
-
-        logDiff(oldSourcePath, newSourcePath);
+        logDiff(oldSourceBase, baseQtPath);
 
         // Patch
         BinPatch binFile(fileName);
-        if (!binFile.patch(oldSourcePath, newSourcePath)) {
+        binFile.enableInsertReplace(true);
+        if (!binFile.patch(oldSourceBase, baseQtPath))
             result = false;
-        }
 
         delete[] fileName;
-        delete[] oldSourcePath;
-        delete[] newSourcePath;
     }
 
     return result;
@@ -651,6 +553,7 @@ const char * const textFileFileNames[] =
     "/lib/libQtNetwork.la",
     "/lib/libQtOpenGL.la",
     "/lib/libQtScript.la",
+    "/lib/libQtScriptTools.la",
     "/lib/libQtSql.la",
     "/lib/libQtSvg.la",
     "/lib/libQtTest.la",
@@ -672,6 +575,7 @@ const char * const textFileFileNames[] =
     "/lib/libQtNetwork.prl",
     "/lib/libQtOpenGL.prl",
     "/lib/libQtScript.prl",
+    "/lib/libQtScriptTools.prl",
     "/lib/libQtSql.prl",
     "/lib/libQtSvg.prl",
     "/lib/libQtTest.prl",
@@ -693,6 +597,7 @@ const char * const textFileFileNames[] =
     "/lib/pkgconfig/QtNetwork.pc",
     "/lib/pkgconfig/QtOpenGL.pc",
     "/lib/pkgconfig/QtScript.pc",
+    "/lib/pkgconfig/QtScriptTools.pc",
     "/lib/pkgconfig/QtSql.pc",
     "/lib/pkgconfig/QtSvg.pc",
     "/lib/pkgconfig/QtTest.pc",
@@ -722,7 +627,7 @@ void replaceInTextFile(const char * fileName,
     f.close();
 
     all.replace(QString(oldText), QString(newText), Qt::CaseSensitive);
-    if ((oldText2 != NULL) && (newText2 != NULL)) {
+    if (oldText2 && newText2) {
         all = all.replace(QString(oldText2), QString(newText2), Qt::CaseSensitive);
     }