diff options
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/makefile.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 82573347b6..254cb1a1a7 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -2782,8 +2782,18 @@ MakefileGenerator::fixLibFlags(const ProKey &var) ProStringList ret; ret.reserve(in.length()); - for (const ProString &v : in) - ret << fixLibFlag(v); + for (int i = 0; i < in.length(); ++i) { + ProString str = in[i]; + + // Remove superfluous "-s" flags. Skip "-s" if followed by + // something that does not need it, like "-s" or "-lfoo" + int j = i + 1; + bool isS = str.toQString() == QStringLiteral("-s"); + if (isS && j < in.length() && in[j].toQString().startsWith('-')) + continue; + + ret << fixLibFlag(str); + } return ret; } |