From 40d65dc3058e8d58426953d44e2ea0eccf996371 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Tue, 15 May 2012 22:07:18 +0000 Subject: llvm-config: Use sys::fs::equivalent instead of string comparison. - Hopefully fixes PR11600 (untested). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156865 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-config/llvm-config.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'tools/llvm-config') diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp index 126542c4ec..7edf5eca0b 100644 --- a/tools/llvm-config/llvm-config.cpp +++ b/tools/llvm-config/llvm-config.cpp @@ -190,9 +190,9 @@ int main(int argc, char **argv) { 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). This could be wrong in the face of - // symbolic links, but is good enough. - if (CurrentExecPrefix == std::string(LLVM_OBJ_ROOT) + "/" + LLVM_BUILDMODE) { + // locations (prefix style or CMake style). + if (sys::fs::equivalent(CurrentExecPrefix, + Twine(LLVM_OBJ_ROOT) + "/" + LLVM_BUILDMODE)) { IsInDevelopmentTree = true; DevelopmentTreeLayout = MakefileStyle; @@ -204,11 +204,12 @@ int main(int argc, char **argv) { } else { ActiveObjRoot = LLVM_OBJ_ROOT; } - } else if (CurrentExecPrefix == std::string(LLVM_OBJ_ROOT)) { + } else if (sys::fs::equivalent(CurrentExecPrefix, LLVM_OBJ_ROOT)) { IsInDevelopmentTree = true; DevelopmentTreeLayout = CMakeStyle; ActiveObjRoot = LLVM_OBJ_ROOT; - } else if (CurrentExecPrefix == std::string(LLVM_OBJ_ROOT) + "/bin") { + } else if (sys::fs::equivalent(CurrentExecPrefix, + Twine(LLVM_OBJ_ROOT) + "/bin")) { IsInDevelopmentTree = true; DevelopmentTreeLayout = CMakeBuildModeStyle; ActiveObjRoot = LLVM_OBJ_ROOT; -- cgit v1.2.3