From 0811b2462861fd34daea715836e54e41d60421e8 Mon Sep 17 00:00:00 2001 From: dt_ <qtc-committer@nokia.com> Date: Fri, 29 Apr 2011 13:25:25 +0200 Subject: [PATCH] Revert "Fix setting of LD_LIBRARY_PATH in the run environment." This reverts commit 4ba7f2b7f3f0b1008a9847c58abbca58817cae30. --- src/libs/utils/environment.cpp | 15 +++++++++++++++ src/libs/utils/environment.h | 2 ++ .../qt-desktop/qt4runconfiguration.cpp | 11 +++-------- .../qt4projectmanager/qtversionmanager.cpp | 9 +-------- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/libs/utils/environment.cpp b/src/libs/utils/environment.cpp index 20f822f38ce..41d28dcede2 100644 --- a/src/libs/utils/environment.cpp +++ b/src/libs/utils/environment.cpp @@ -174,6 +174,21 @@ void Environment::prependOrSetPath(const QString &value) prependOrSet(QLatin1String("PATH"), QDir::toNativeSeparators(value), QString(sep)); } +void Environment::prependOrSetLibrarySearchPath(const QString &value) +{ +#ifdef Q_OS_MAC + // we could set DYLD_LIBRARY_PATH on Mac but it is unnecessary in practice +#elif Q_OS_WIN + const QChar sep = QLatin1Char(';'); + const QLatin1String path("PATH"); + prependOrSet(path, QDir::toNativeSeparators(value), QString(sep)); +#elif Q_OS_UNIX + const QChar sep = QLatin1Char(':'); + const QLatin1String path("LD_LIBRARY_PATH"); + prependOrSet(path, QDir::toNativeSeparators(value), QString(sep)); +#endif +} + Environment Environment::systemEnvironment() { return Environment(QProcess::systemEnvironment()); diff --git a/src/libs/utils/environment.h b/src/libs/utils/environment.h index a2a0bf8a06d..4c9a0792edc 100644 --- a/src/libs/utils/environment.h +++ b/src/libs/utils/environment.h @@ -85,6 +85,8 @@ public: void appendOrSetPath(const QString &value); void prependOrSetPath(const QString &value); + void prependOrSetLibrarySearchPath(const QString &value); + void clear(); int size() const; diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp index 28e6ac04ade..f524212b100 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp @@ -602,16 +602,11 @@ Utils::Environment Qt4RunConfiguration::baseEnvironment() const // The user could be linking to a library found via a -L/some/dir switch // to find those libraries while actually running we explicitly prepend those - // dirs to the library search path on windows/linux + // dirs to the library search path const Qt4ProFileNode *node = qt4Target()->qt4Project()->rootProjectNode()->findProFileFor(m_proFilePath); - const ProjectExplorer::Abi runAbi = abi(); if (node) - foreach (const QString &dir, node->variableValue(LibDirectoriesVar)) { - if (runAbi.os() == ProjectExplorer::Abi::WindowsOS) - env.prependOrSetPath(dir); - else if (runAbi.osFlavor() == ProjectExplorer::Abi::GenericLinuxFlavor) - env.prependOrSet(QLatin1String("LD_LIBRARY_PATH"), dir, QLatin1String(":")); - } + foreach(const QString &dir, node->variableValue(LibDirectoriesVar)) + env.prependOrSetLibrarySearchPath(dir); return env; } diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index 66c448ed753..4bd0d55b758 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -1722,14 +1722,7 @@ void QtVersion::addToEnvironment(Utils::Environment &env) const // Generic: env.set("QTDIR", QDir::toNativeSeparators(versionInfo().value("QT_INSTALL_DATA"))); env.prependOrSetPath(versionInfo().value("QT_INSTALL_BINS")); - - // set LD_LIBRARY_PATH for generic linux - foreach (const ProjectExplorer::Abi &abi, qtAbis()) { - if (abi.osFlavor() == ProjectExplorer::Abi::GenericLinuxFlavor) { - env.prependOrSet(QLatin1String("LD_LIBRARY_PATH"), versionInfo().value("QT_INSTALL_LIBS"), QLatin1String(":")); - break; - } - } + env.prependOrSetLibrarySearchPath(versionInfo().value("QT_INSTALL_LIBS")); // Symbian specific: if (supportsTargetId(Constants::S60_DEVICE_TARGET_ID) -- GitLab