aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/GenericGCC.qbs
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-01-30 10:13:40 +0100
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-01-30 17:55:29 +0100
commit64602965cd5ef19742a604512ca7570f7b0fe7ca (patch)
treedf81f764aeb289bbfada48c15e18f8b8af9762dd /share/qbs/modules/cpp/GenericGCC.qbs
parent1eb6cadc4f42899b7e2c6d58d9f1a4fafbd1f070 (diff)
fix order of libraries in gcc link command line
Array.uniqueConcat cannot be used to remove duplicates, because the right-most duplicates are removed. To keep the dependencies ordered correctly, we must remove the left-most duplicates instead. Task-number: QBS-503 Change-Id: I5a2834905f650e0921bc42f9cffe15b71128ff7e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'share/qbs/modules/cpp/GenericGCC.qbs')
-rw-r--r--share/qbs/modules/cpp/GenericGCC.qbs9
1 files changed, 5 insertions, 4 deletions
diff --git a/share/qbs/modules/cpp/GenericGCC.qbs b/share/qbs/modules/cpp/GenericGCC.qbs
index 0cbb2b982..a881159d9 100644
--- a/share/qbs/modules/cpp/GenericGCC.qbs
+++ b/share/qbs/modules/cpp/GenericGCC.qbs
@@ -102,10 +102,11 @@ CppModule {
for (var i in inputs.dynamiclibrary_copy) {
var lib = inputs.dynamiclibrary_copy[i]
var impliedLibs = ModUtils.moduleProperties(lib, 'transitiveSOs')
- var libsToAdd = impliedLibs.uniqueConcat([lib.fileName]);
- result = result.uniqueConcat(libsToAdd);
+ var libsToAdd = [lib.fileName].concat(impliedLibs);
+ result = result.concat(libsToAdd);
}
- return result
+ result = Gcc.concatLibs([], result);
+ return result;
}
}
@@ -218,7 +219,7 @@ CppModule {
var lib = inputs.staticlibrary[i]
result.push(lib.fileName)
var impliedLibs = ModUtils.moduleProperties(lib, 'staticLibraries')
- result = result.uniqueConcat(impliedLibs);
+ result = Gcc.concatLibs(result, impliedLibs);
}
return result
}