From: Serge Guelton Date: Mon, 25 Mar 2019 15:14:15 +0000 (+0000) Subject: Python 2/3 compat: queue vs Queue X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c72a66877f345149757c39edc1de228d9f287437;p=llvm Python 2/3 compat: queue vs Queue Differential Revision: https://reviews.llvm.org/D59590 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356905 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp index 7ef7c46a262..25f1c28e5f0 100644 --- a/tools/llvm-config/llvm-config.cpp +++ b/tools/llvm-config/llvm-config.cpp @@ -268,7 +268,6 @@ int main(int argc, char **argv) { // tree. bool IsInDevelopmentTree; enum { CMakeStyle, CMakeBuildModeStyle } DevelopmentTreeLayout; - llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0])); std::string CurrentExecPrefix; std::string ActiveObjRoot; @@ -279,11 +278,18 @@ int main(int argc, char **argv) { build_mode = CMAKE_CFG_INTDIR; #endif - // Create an absolute path, and pop up one directory (we expect to be inside a - // bin dir). - sys::fs::make_absolute(CurrentPath); - CurrentExecPrefix = - sys::path::parent_path(sys::path::parent_path(CurrentPath)).str(); + // Create an absolute path, and pop up as much directory as in + // LLVM_TOOLS_INSTALL_DIR + { + llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0])); + sys::fs::make_absolute(CurrentPath); + for (auto iter = sys::path::begin(LLVM_TOOLS_INSTALL_DIR), + end = sys::path::end(LLVM_TOOLS_INSTALL_DIR); + iter != end; ++iter) { + CurrentPath = sys::path::parent_path(CurrentPath).str(); + } + CurrentExecPrefix = sys::path::parent_path(CurrentPath).str(); + } // Check to see if we are inside a development tree by comparing to possible // locations (prefix style or CMake style).