From a9d2c0bdd16dd850fcfe58c040c89c8a6a2268a3 Mon Sep 17 00:00:00 2001 From: OBATA Akio Date: Sun, 2 Aug 2020 16:42:31 +0900 Subject: [PATCH] Prevent to set build directories as RPATH It result in unwanted RPATH reference from installed binaries. Signed-off-by: OBATA Akio --- qmake/generators/unix/unixmake.cpp | 8 +++----- qmake/generators/unix/unixmake2.cpp | 14 -------------- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index 1f97210d..a3532f97 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -352,11 +352,9 @@ UnixMakefileGenerator::init() comp_flags += " -version-info " + TQString::number(10*maj + min) + ":" + TQString::number(pat) + ":0"; if(libtoolify[i] != "QMAKE_AR_CMD") { - TQString rpath = Option::output_dir; - if(!project->isEmpty("DESTDIR")) { - rpath = project->first("DESTDIR"); - if(TQDir::isRelativePath(rpath)) - rpath.prepend(Option::output_dir + Option::dir_sep); + TQString rpath = project->first("target.path"); + if(rpath.right(1) != Option::dir_sep) { + rpath += Option::dir_sep; } comp_flags += " -rpath " + Option::fixPathToTargetOS(rpath, FALSE); } diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index ee024d0e..93b75224 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -1386,20 +1386,6 @@ void UnixMakefileGenerator::init2() if(!project->isActiveConfig("compile_libtool")) project->variables()["QMAKE_LFLAGS"] += project->variables()["QMAKE_LFLAGS_SONAME"]; } - TQString destdir = project->first("DESTDIR"); - if ( !destdir.isEmpty() && !project->variables()["QMAKE_RPATH"].isEmpty() ) { - TQString rpath_destdir = destdir; - if(TQDir::isRelativePath(rpath_destdir)) { - TQFileInfo fi(Option::fixPathToLocalOS(rpath_destdir)); - if(fi.convertToAbs()) //strange, shouldn't really happen - rpath_destdir = Option::fixPathToTargetOS(rpath_destdir, FALSE); - else - rpath_destdir = fi.filePath(); - } else { - rpath_destdir = Option::fixPathToTargetOS(rpath_destdir, FALSE); - } - project->variables()["QMAKE_LFLAGS"] += project->first("QMAKE_RPATH") + rpath_destdir; - } } TQStringList &quc = project->variables()["QMAKE_EXTRA_UNIX_COMPILERS"]; for(TQStringList::Iterator it = quc.begin(); it != quc.end(); ++it) {