clang  6.0.0svn
DependencyOutputOptions.h
Go to the documentation of this file.
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 /// DependencyOutputFormat - Format for the compiler dependency file.
20 
21 /// DependencyOutputOptions - Options for controlling the compiler dependency
22 /// file generation.
24 public:
25  unsigned IncludeSystemHeaders : 1; ///< Include system header dependencies.
26  unsigned ShowHeaderIncludes : 1; ///< Show header inclusions (-H).
27  unsigned UsePhonyTargets : 1; ///< Include phony targets for each
28  /// dependency, which can avoid some 'make'
29  /// problems.
30  unsigned AddMissingHeaderDeps : 1; ///< Add missing headers to dependency list
31  unsigned PrintShowIncludes : 1; ///< Print cl.exe style /showIncludes info.
32  unsigned IncludeModuleFiles : 1; ///< Include module file dependencies.
33 
34  /// The format for the dependency file.
36 
37  /// The file to write dependency output to.
38  std::string OutputFile;
39 
40  /// The file to write header include output to. This is orthogonal to
41  /// ShowHeaderIncludes (-H) and will include headers mentioned in the
42  /// predefines buffer. If the output file is "-", output will be sent to
43  /// stderr.
45 
46  /// A list of names to use as the targets in the dependency file; this list
47  /// must contain at least one entry.
48  std::vector<std::string> Targets;
49 
50  /// A list of filenames to be used as extra dependencies for every target.
51  std::vector<std::string> ExtraDeps;
52 
53  /// In /showIncludes mode, pretend the main TU is a header with this name.
55 
56  /// \brief The file to write GraphViz-formatted header dependencies to.
57  std::string DOTOutputFile;
58 
59  /// \brief The directory to copy module dependencies to when collecting them.
61 
62 public:
64  IncludeSystemHeaders = 0;
65  ShowHeaderIncludes = 0;
66  UsePhonyTargets = 0;
67  AddMissingHeaderDeps = 0;
68  PrintShowIncludes = 0;
69  IncludeModuleFiles = 0;
70  OutputFormat = DependencyOutputFormat::Make;
71  }
72 };
73 
74 } // end namespace clang
75 
76 #endif
std::string ModuleDependencyOutputDir
The directory to copy module dependencies to when collecting them.
std::string DOTOutputFile
The file to write GraphViz-formatted header dependencies to.
unsigned IncludeModuleFiles
Include module file dependencies.
std::string HeaderIncludeOutputFile
The file to write header include output to.
unsigned IncludeSystemHeaders
Include system header dependencies.
std::string ShowIncludesPretendHeader
In /showIncludes mode, pretend the main TU is a header with this name.
unsigned ShowHeaderIncludes
Show header inclusions (-H).
DependencyOutputOptions - Options for controlling the compiler dependency file generation.
std::vector< std::string > ExtraDeps
A list of filenames to be used as extra dependencies for every target.
std::string OutputFile
The file to write dependency output to.
DependencyOutputFormat OutputFormat
The format for the dependency file.
Dataflow Directional Tag Classes.
unsigned UsePhonyTargets
Include phony targets for each dependency, which can avoid some &#39;make&#39; problems.
std::vector< std::string > Targets
A list of names to use as the targets in the dependency file; this list must contain at least one ent...
unsigned AddMissingHeaderDeps
Add missing headers to dependency list.
unsigned PrintShowIncludes
Print cl.exe style /showIncludes info.
DependencyOutputFormat
DependencyOutputFormat - Format for the compiler dependency file.