aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/cpp/gcc.js16
1 files changed, 10 insertions, 6 deletions
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js
index 936797d69..9527b738c 100644
--- a/share/qbs/modules/cpp/gcc.js
+++ b/share/qbs/modules/cpp/gcc.js
@@ -258,12 +258,16 @@ function linkerFlags(project, product, inputs, output) {
args.push("--sysroot=" + sysroot); // do not escape, compiler-as-linker also needs it
}
- var unresolvedSymbolsAction = isDarwin ? "error" : "ignore-in-shared-libs";
- if (ModUtils.moduleProperty(product, "allowUnresolvedSymbols"))
- unresolvedSymbolsAction = isDarwin ? "suppress" : "ignore-all";
- args = args.concat(escapeLinkerFlags(product, inputs, isDarwin
- ? ["-undefined", unresolvedSymbolsAction]
- : ["--unresolved-symbols=" + unresolvedSymbolsAction]));
+ if (isDarwin) {
+ var unresolvedSymbolsAction;
+ unresolvedSymbolsAction = ModUtils.moduleProperty(product, "allowUnresolvedSymbols")
+ ? "suppress" : "error";
+ args = args.concat(escapeLinkerFlags(product, inputs,
+ ["-undefined", unresolvedSymbolsAction]));
+ } else if (ModUtils.moduleProperty(product, "allowUnresolvedSymbols")) {
+ args = args.concat(escapeLinkerFlags(product, inputs,
+ ["--unresolved-symbols=ignore-all"]));
+ }
for (i in rpaths) {
if (systemRunPaths.indexOf(rpaths[i]) === -1)