return Distro >= UbuntuHardy && Distro <= UbuntuYakkety;
}
-static Distro DetectDistro(const Driver &D, llvm::Triple::ArchType Arch) {
+static Distro DetectDistro(vfs::FileSystem &VFS) {
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File =
- D.getVFS().getBufferForFile("/etc/lsb-release");
+ VFS.getBufferForFile("/etc/lsb-release");
if (File) {
StringRef Data = File.get()->getBuffer();
SmallVector<StringRef, 16> Lines;
return Version;
}
- File = D.getVFS().getBufferForFile("/etc/redhat-release");
+ File = VFS.getBufferForFile("/etc/redhat-release");
if (File) {
StringRef Data = File.get()->getBuffer();
if (Data.startswith("Fedora release"))
return UnknownDistro;
}
- File = D.getVFS().getBufferForFile("/etc/debian_version");
+ File = VFS.getBufferForFile("/etc/debian_version");
if (File) {
StringRef Data = File.get()->getBuffer();
// Contents: < major.minor > or < codename/sid >
.Default(UnknownDistro);
}
- if (D.getVFS().exists("/etc/SuSE-release"))
+ if (VFS.exists("/etc/SuSE-release"))
return OpenSUSE;
- if (D.getVFS().exists("/etc/exherbo-release"))
+ if (VFS.exists("/etc/exherbo-release"))
return Exherbo;
- if (D.getVFS().exists("/etc/arch-release"))
+ if (VFS.exists("/etc/arch-release"))
return ArchLinux;
return UnknownDistro;
GCCInstallation.getTriple().str() + "/bin")
.str());
- Distro Distro = DetectDistro(D, Arch);
+ Distro Distro = DetectDistro(D.getVFS());
if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) {
ExtraOpts.push_back("-z");
const llvm::Triple::ArchType Arch = getArch();
const llvm::Triple &Triple = getTriple();
- const enum Distro Distro = DetectDistro(getDriver(), Arch);
+ const enum Distro Distro = DetectDistro(getDriver().getVFS());
if (Triple.isAndroid())
return Triple.isArch64Bit() ? "/system/bin/linker64" : "/system/bin/linker";