clang  9.0.0svn
DependencyOutputOptions.h
Go to the documentation of this file.
1 //===--- DependencyOutputOptions.h ------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
10 #define LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
11 
12 #include <string>
13 #include <vector>
14 
15 namespace clang {
16 
17 /// ShowIncludesDestination - Destination for /showIncludes output.
19 
20 /// DependencyOutputFormat - Format for the compiler dependency file.
22 
23 /// DependencyOutputOptions - Options for controlling the compiler dependency
24 /// file generation.
26 public:
27  unsigned IncludeSystemHeaders : 1; ///< Include system header dependencies.
28  unsigned ShowHeaderIncludes : 1; ///< Show header inclusions (-H).
29  unsigned UsePhonyTargets : 1; ///< Include phony targets for each
30  /// dependency, which can avoid some 'make'
31  /// problems.
32  unsigned AddMissingHeaderDeps : 1; ///< Add missing headers to dependency list
33  unsigned IncludeModuleFiles : 1; ///< Include module file dependencies.
34 
35  /// Destination of cl.exe style /showIncludes info.
37 
38  /// The format for the dependency file.
40 
41  /// The file to write dependency output to.
42  std::string OutputFile;
43 
44  /// The file to write header include output to. This is orthogonal to
45  /// ShowHeaderIncludes (-H) and will include headers mentioned in the
46  /// predefines buffer. If the output file is "-", output will be sent to
47  /// stderr.
49 
50  /// A list of names to use as the targets in the dependency file; this list
51  /// must contain at least one entry.
52  std::vector<std::string> Targets;
53 
54  /// A list of filenames to be used as extra dependencies for every target.
55  std::vector<std::string> ExtraDeps;
56 
57  /// In /showIncludes mode, pretend the main TU is a header with this name.
59 
60  /// The file to write GraphViz-formatted header dependencies to.
61  std::string DOTOutputFile;
62 
63  /// The directory to copy module dependencies to when collecting them.
65 
66 public:
68  : IncludeSystemHeaders(0), ShowHeaderIncludes(0), UsePhonyTargets(0),
69  AddMissingHeaderDeps(0), IncludeModuleFiles(0) {}
70 };
71 
72 } // end namespace clang
73 
74 #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.
ShowIncludesDestination
ShowIncludesDestination - Destination for /showIncludes output.
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.
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.
DependencyOutputFormat
DependencyOutputFormat - Format for the compiler dependency file.