| //===--- CompilationGraph.h - The LLVM Compiler Driver ----------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open |
| // Source License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // Compilation graph - definition. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLVM_TOOLS_LLVMC2_COMPILATION_GRAPH_H |
| #define LLVM_TOOLS_LLVMC2_COMPILATION_GRAPH_H |
| |
| #include "AutoGenerated.h" |
| #include "Tool.h" |
| |
| #include "llvm/ADT/StringMap.h" |
| #include "llvm/System/Path.h" |
| |
| namespace llvmcc { |
| |
| typedef std::vector<llvm::IntrusiveRefCntPtr<Tool> > ToolChain; |
| typedef llvm::StringMap<ToolChain> ToolChainMap; |
| |
| struct CompilationGraph { |
| ToolChainMap ToolChains; |
| LanguageMap ExtsToLangs; |
| |
| int Build(llvm::sys::Path const& tempDir) const; |
| }; |
| } |
| |
| #endif // LLVM_TOOLS_LLVMC2_COMPILATION_GRAPH_H |