aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2016-02-22 11:08:51 +0100
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2016-02-22 17:00:32 +0000
commit6a8c53471b90fcc3fb07adc410ad7a15fd640c8b (patch)
treeae1a4c2723a0d5477571d613b4bfd174783140af /share
parentb97b5850453666020641792165bcbf951530fdf5 (diff)
Cpp module: Support ELF versions scripts.
Change-Id: I626225507f79159d04a02af6dc59aabb5569294e Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/cpp/GenericGCC.qbs2
-rw-r--r--share/qbs/modules/cpp/gcc.js5
2 files changed, 6 insertions, 1 deletions
diff --git a/share/qbs/modules/cpp/GenericGCC.qbs b/share/qbs/modules/cpp/GenericGCC.qbs
index 90a30bcb1..92d3acb03 100644
--- a/share/qbs/modules/cpp/GenericGCC.qbs
+++ b/share/qbs/modules/cpp/GenericGCC.qbs
@@ -147,7 +147,7 @@ CppModule {
Rule {
id: dynamicLibraryLinker
multiplex: true
- inputs: ["obj", "linkerscript"]
+ inputs: ["obj", "linkerscript", "versionscript"]
inputsFromDependencies: ["dynamiclibrary_copy", "staticlibrary"]
outputFileTags: ["dynamiclibrary", "dynamiclibrary_symlink", "dynamiclibrary_copy", "debuginfo"]
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js
index 1421733b0..d108d64f8 100644
--- a/share/qbs/modules/cpp/gcc.js
+++ b/share/qbs/modules/cpp/gcc.js
@@ -191,6 +191,11 @@ function linkerFlags(product, inputs, output) {
args = args.concat(escapeLinkerFlags(product, [].uniqueConcat(linkerScripts)
.map(function(path) { return '-T' + path })));
+ var versionScripts = inputs.versionscript
+ ? inputs.versionscript.map(function(a) { return a.filePath; }) : [];
+ args = args.concat(escapeLinkerFlags(product, [].uniqueConcat(versionScripts)
+ .map(function(path) { return '--version-script=' + path })));
+
if (isDarwin && ModUtils.moduleProperty(product, "warningLevel") === "none")
args.push('-w');