summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-04-22 13:09:36 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-05-05 12:04:15 +0000
commit67a24c260b910c5ada1c8c266c6d1bed9d8c5a04 (patch)
treed9304b347df9abcf940ca455682f914dc9c04af9 /tools
parent96527f74e253817ce1c7ac67346d6bfd849802ab (diff)
rpath: use new DTAGS if available
this allows LD_LIBRARY_PATH to take precedence over the hard-coded rpath, which is the only sane thing to do (which is also why i'm not adding an option to disable it). this behavior is consistent with non-linux systems. the windows version has no auto-detection, just like for gold linker usage. Task-number: QTBUG-3069 Change-Id: Ief9ba032291c898d75d76ecc740390954382a804 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/configureapp.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index c0e98507c7..8ea5b2ed3b 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -244,6 +244,8 @@ Configure::Configure(int& argc, char** argv)
dictionary[ "USE_GOLD_LINKER" ] = "no";
+ dictionary[ "ENABLE_NEW_DTAGS" ] = "no";
+
dictionary[ "SHARED" ] = "yes";
dictionary[ "STATIC_RUNTIME" ] = "no";
@@ -471,6 +473,10 @@ void Configure::parseCmdLine()
dictionary[ "USE_GOLD_LINKER" ] = "yes";
else if (configCmdLine.at(i) == "-no-use-gold-linker")
dictionary[ "USE_GOLD_LINKER" ] = "no";
+ else if (configCmdLine.at(i) == "-enable-new-dtags")
+ dictionary[ "ENABLE_NEW_DTAGS" ] = "yes";
+ else if (configCmdLine.at(i) == "-disable-new-dtags")
+ dictionary[ "ENABLE_NEW_DTAGS" ] = "no";
else if (configCmdLine.at(i) == "-shared")
dictionary[ "SHARED" ] = "yes";
else if (configCmdLine.at(i) == "-static")
@@ -1793,6 +1799,9 @@ bool Configure::displayHelp()
desc("USE_GOLD_LINKER", "yes", "-use-gold-linker", "Link using the GNU gold linker (gcc only).");
desc("USE_GOLD_LINKER", "no", "-no-use-gold-linker", "Do not link using the GNU gold linker.\n");
+ desc("ENABLE_NEW_DTAGS", "yes", "-enable-new-dtags", "Use new DTAGS for RPATH (Linux only).");
+ desc("ENABLE_NEW_DTAGS", "no", "-disable-new-dtags", "Do not use new DTAGS for RPATH.\n");
+
desc("SHARED", "yes", "-shared", "Create and use shared Qt libraries.");
desc("SHARED", "no", "-static", "Create and use static Qt libraries.\n");
@@ -2675,6 +2684,9 @@ void Configure::generateOutputVars()
if (dictionary[ "USE_GOLD_LINKER" ] == "yes")
qmakeConfig += "use_gold_linker";
+ if (dictionary[ "ENABLE_NEW_DTAGS" ] == "yes")
+ qmakeConfig += "enable_new_dtags";
+
if (dictionary[ "SHARED" ] == "no")
qtConfig += "static";
else