]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/clang/include/clang/Frontend/DependencyOutputOptions.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / clang / include / clang / Frontend / DependencyOutputOptions.h
1 //===--- DependencyOutputOptions.h ------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
11 #define LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
12
13 #include <string>
14 #include <vector>
15
16 namespace clang {
17
18 /// DependencyOutputOptions - Options for controlling the compiler dependency
19 /// file generation.
20 class DependencyOutputOptions {
21 public:
22   unsigned IncludeSystemHeaders : 1; ///< Include system header dependencies.
23   unsigned ShowHeaderIncludes : 1;   ///< Show header inclusions (-H).
24   unsigned UsePhonyTargets : 1;      ///< Include phony targets for each
25                                      /// dependency, which can avoid some 'make'
26                                      /// problems.
27   unsigned AddMissingHeaderDeps : 1; ///< Add missing headers to dependency list
28   
29   /// The file to write dependency output to.
30   std::string OutputFile;
31
32   /// The file to write header include output to. This is orthogonal to
33   /// ShowHeaderIncludes (-H) and will include headers mentioned in the
34   /// predefines buffer. If the output file is "-", output will be sent to
35   /// stderr.
36   std::string HeaderIncludeOutputFile;
37
38   /// A list of names to use as the targets in the dependency file; this list
39   /// must contain at least one entry.
40   std::vector<std::string> Targets;
41
42   /// \brief The file to write GraphViz-formatted header dependencies to.
43   std::string DOTOutputFile;
44   
45 public:
46   DependencyOutputOptions() {
47     IncludeSystemHeaders = 0;
48     ShowHeaderIncludes = 0;
49     UsePhonyTargets = 0;
50     AddMissingHeaderDeps = 0;
51   }
52 };
53
54 }  // end namespace clang
55
56 #endif