blob: c34b58ff5e4344337917d506147c37ba0fc6fc13 [file] [log] [blame]
Mikhail Glushenkovb90cd832008-05-06 16:34:12 +00001//===--- CompilationGraph.h - The LLVM Compiler Driver ----------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open
6// Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// Compilation graph - definition.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_TOOLS_LLVMC2_COMPILATION_GRAPH_H
15#define LLVM_TOOLS_LLVMC2_COMPILATION_GRAPH_H
16
17#include "AutoGenerated.h"
18#include "Tool.h"
19
20#include "llvm/ADT/StringMap.h"
21#include "llvm/System/Path.h"
22
23namespace llvmcc {
24
25 typedef std::vector<llvm::IntrusiveRefCntPtr<Tool> > ToolChain;
26 typedef llvm::StringMap<ToolChain> ToolChainMap;
27
28 struct CompilationGraph {
29 ToolChainMap ToolChains;
30 LanguageMap ExtsToLangs;
31
32 int Build(llvm::sys::Path const& tempDir) const;
33 };
34}
35
36#endif // LLVM_TOOLS_LLVMC2_COMPILATION_GRAPH_H