diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-04-22 13:09:36 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-05-05 12:04:15 +0000 |
commit | 67a24c260b910c5ada1c8c266c6d1bed9d8c5a04 (patch) | |
tree | d9304b347df9abcf940ca455682f914dc9c04af9 /tools | |
parent | 96527f74e253817ce1c7ac67346d6bfd849802ab (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.cpp | 12 |
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 |