diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-01-30 10:13:40 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-01-30 17:55:29 +0100 |
commit | 64602965cd5ef19742a604512ca7570f7b0fe7ca (patch) | |
tree | df81f764aeb289bbfada48c15e18f8b8af9762dd /share/qbs/modules/cpp/GenericGCC.qbs | |
parent | 1eb6cadc4f42899b7e2c6d58d9f1a4fafbd1f070 (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.qbs | 9 |
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 } |