blob: 6ae9e95d76b91c8131a7c713edd806ca105ccd9d [file] [log] [blame]
//===-- LinuxToolChain.h --------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// Defines the LinuxToolChain class (helper for driver functionality).
//
//===----------------------------------------------------------------------===//
#ifndef GOLLVM_DRIVER_LINUXTOOLCHAIN_H
#define GOLLVM_DRIVER_LINUXTOOLCHAIN_H
#include "ToolChain.h"
#include "GccUtils.h"
namespace toolchains {
// Toolchain for linux.
class Linux : public gollvm::driver::ToolChain {
public:
Linux(gollvm::driver::Driver &driver,
const llvm::Triple &targetTriple);
~Linux();
gollvm::driver::Tool *buildCompiler() override;
gollvm::driver::Tool *buildAssembler() override;
gollvm::driver::Tool *buildLinker() override;
std::string getDynamicLinker(const llvm::opt::ArgList &args) override;
private:
gnutools::gccdetect::InspectRealFS inspectFS_;
gnutools::gccdetect::GCCInstallationDetector gccDetector_;
};
} // end namespace toolchains
#endif // GOLLVM_DRIVER_LINUXTOOLCHAIN_H