summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-07-13 13:09:30 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-27 16:29:12 +0200
commit14bdff32e218663523f3940fe639ae792fdee1b1 (patch)
treef795a8290ecbe4eb2768f9d2a778031f86456a63
parenta699fa520f4c8731603a4223f44607dc31becf07 (diff)
remove duplicate -L flags in findLibraries()
unlike duplicated -l options, duplicated -L options are really redundant. Change-Id: I4fa42d8ee2f10c6e6263457d9bb97291e13685ef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
-rw-r--r--qmake/generators/unix/unixmake.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 8a3a371b1d..c3a96dd5a4 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -476,15 +476,18 @@ UnixMakefileGenerator::findLibraries()
const QString lflags[] = { "QMAKE_LIBDIR_FLAGS", "QMAKE_FRAMEWORKPATH_FLAGS", "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", QString() };
for(int i = 0; !lflags[i].isNull(); i++) {
QStringList &l = project->values(lflags[i]);
- for(QStringList::Iterator it = l.begin(); it != l.end(); ++it) {
+ for (QStringList::Iterator it = l.begin(); it != l.end(); ) {
bool do_suffix = true;
QString stub, dir, extn, opt = (*it).trimmed();
if(opt.startsWith("-")) {
if(opt.startsWith("-L")) {
QString lib = opt.mid(2);
QMakeLocalFileName f(lib);
- if(!libdirs.contains(f))
- libdirs.append(f);
+ if (libdirs.contains(f)) {
+ it = l.erase(it);
+ continue;
+ }
+ libdirs.append(f);
if (!libArg.isEmpty())
*it = libArg + lib;
} else if(opt.startsWith("-l")) {
@@ -560,6 +563,7 @@ UnixMakefileGenerator::findLibraries()
}
}
}
+ ++it;
}
}
return false;