Simplify the set of directories we look for on multiarch systems.

I don't have any Debian system with one of these currently, and it seems
unlikely for one to show up suddenly. We can add more patterns here if
they become necessary.

llvm-svn: 143346
This commit is contained in:
Chandler Carruth 2011-10-31 09:06:40 +00:00
parent 68ed0ae51c
commit 4c042fe667
1 changed files with 2 additions and 8 deletions

View File

@ -1756,21 +1756,15 @@ static std::string getMultiarchTriple(const llvm::Triple TargetTriple,
// We use the existence of '/lib/<triple>' as a directory to detect some
// common linux triples that don't quite match the Clang triple for both
// 32-bit and 64-bit targets. This works around annoying discrepancies on
// Debian-based systems.
// 32-bit and 64-bit targets. Multiarch fixes its install triples to these
// regardless of what the actual target triple is.
case llvm::Triple::x86:
if (llvm::sys::fs::exists(SysRoot + "/lib/i686-linux-gnu"))
return "i686-linux-gnu";
if (llvm::sys::fs::exists(SysRoot + "/lib/i386-linux-gnu"))
return "i386-linux-gnu";
return TargetTriple.str();
case llvm::Triple::x86_64:
if (llvm::sys::fs::exists(SysRoot + "/lib/x86_64-linux-gnu"))
return "x86_64-linux-gnu";
if (llvm::sys::fs::exists(SysRoot + "/lib/x86_64-pc-linux-gnu"))
return "x86_64-pc-linux-gnu";
if (llvm::sys::fs::exists(SysRoot + "/lib/x86_64-unknown-linux-gnu"))
return "x86_64-unknown-linux-gnu";
return TargetTriple.str();
}
}