enum LinuxDistro {
DebianLenny,
DebianSqueeze,
+ Exherbo,
Fedora13,
Fedora14,
OpenSuse11_3,
}
static bool HasMultilib(llvm::Triple::ArchType Arch, enum LinuxDistro Distro) {
- if (Arch == llvm::Triple::x86_64)
+ if (Arch == llvm::Triple::x86_64) {
+ if (Distro == Exherbo && !llvm::sys::Path("/usr/lib32/libc.so").exists())
+ return false;
+
return true;
+ }
if (Arch == llvm::Triple::x86 && IsDebianBased(Distro))
return true;
return false;
return UnknownDistro;
}
+ if (llvm::sys::Path("/etc/exherbo-release").exists())
+ return Exherbo;
+
return UnknownDistro;
}
} else if (Arch == llvm::Triple::x86_64) {
if (llvm::sys::Path("/usr/lib/gcc/x86_64-linux-gnu").exists())
GccTriple = "x86_64-linux-gnu";
+ else if (llvm::sys::Path("/usr/lib/gcc/x86_64-pc-linux-gnu").exists())
+ GccTriple = "x86_64-pc-linux-gnu";
else if (llvm::sys::Path("/usr/lib/gcc/x86_64-redhat-linux").exists())
GccTriple = "x86_64-redhat-linux";
else if (llvm::sys::Path("/usr/lib64/gcc/x86_64-suse-linux").exists())