clang  14.0.0git
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 /// ExtraDepKind - The kind of extra dependency file.
29 };
30 
31 /// DependencyOutputOptions - Options for controlling the compiler dependency
32 /// file generation.
34 public:
35  unsigned IncludeSystemHeaders : 1; ///< Include system header dependencies.
36  unsigned ShowHeaderIncludes : 1; ///< Show header inclusions (-H).
37  unsigned UsePhonyTargets : 1; ///< Include phony targets for each
38  /// dependency, which can avoid some 'make'
39  /// problems.
40  unsigned AddMissingHeaderDeps : 1; ///< Add missing headers to dependency list
41  unsigned IncludeModuleFiles : 1; ///< Include module file dependencies.
42  unsigned ShowSkippedHeaderIncludes : 1; ///< With ShowHeaderIncludes, show
43  /// also includes that were skipped
44  /// due to the "include guard
45  /// optimization" or #pragma once.
46 
47  /// Destination of cl.exe style /showIncludes info.
49 
50  /// The format for the dependency file.
52 
53  /// The file to write dependency output to.
55 
56  /// The file to write header include output to. This is orthogonal to
57  /// ShowHeaderIncludes (-H) and will include headers mentioned in the
58  /// predefines buffer. If the output file is "-", output will be sent to
59  /// stderr.
61 
62  /// A list of names to use as the targets in the dependency file; this list
63  /// must contain at least one entry.
64  std::vector<std::string> Targets;
65 
66  /// A list of extra dependencies (filename and kind) to be used for every
67  /// target.
68  std::vector<std::pair<std::string, ExtraDepKind>> ExtraDeps;
69 
70  /// In /showIncludes mode, pretend the main TU is a header with this name.
72 
73  /// The file to write GraphViz-formatted header dependencies to.
75 
76  /// The directory to copy module dependencies to when collecting them.
78 
79 public:
84 };
85 
86 } // end namespace clang
87 
88 #endif
clang::DependencyOutputOptions
DependencyOutputOptions - Options for controlling the compiler dependency file generation.
Definition: DependencyOutputOptions.h:33
clang::DependencyOutputOptions::AddMissingHeaderDeps
unsigned AddMissingHeaderDeps
Add missing headers to dependency list.
Definition: DependencyOutputOptions.h:40
string
string(SUBSTRING ${CMAKE_CURRENT_BINARY_DIR} 0 ${PATH_LIB_START} PATH_HEAD) string(SUBSTRING $
Definition: CMakeLists.txt:22
clang::DependencyOutputOptions::ExtraDeps
std::vector< std::pair< std::string, ExtraDepKind > > ExtraDeps
A list of extra dependencies (filename and kind) to be used for every target.
Definition: DependencyOutputOptions.h:68
clang::DependencyOutputOptions::DOTOutputFile
std::string DOTOutputFile
The file to write GraphViz-formatted header dependencies to.
Definition: DependencyOutputOptions.h:74
clang::DependencyOutputOptions::HeaderIncludeOutputFile
std::string HeaderIncludeOutputFile
The file to write header include output to.
Definition: DependencyOutputOptions.h:60
clang::DependencyOutputOptions::DependencyOutputOptions
DependencyOutputOptions()
Definition: DependencyOutputOptions.h:80
clang::DependencyOutputOptions::UsePhonyTargets
unsigned UsePhonyTargets
Include phony targets for each dependency, which can avoid some 'make' problems.
Definition: DependencyOutputOptions.h:37
clang::DependencyOutputFormat::Make
@ Make
clang::DependencyOutputFormat
DependencyOutputFormat
DependencyOutputFormat - Format for the compiler dependency file.
Definition: DependencyOutputOptions.h:21
clang::EDK_ModuleFile
@ EDK_ModuleFile
Definition: DependencyOutputOptions.h:27
clang::DependencyOutputFormat::NMake
@ NMake
clang::DependencyOutputOptions::ShowIncludesDest
ShowIncludesDestination ShowIncludesDest
Destination of cl.exe style /showIncludes info.
Definition: DependencyOutputOptions.h:48
clang::DependencyOutputOptions::ModuleDependencyOutputDir
std::string ModuleDependencyOutputDir
The directory to copy module dependencies to when collecting them.
Definition: DependencyOutputOptions.h:77
clang::ExtraDepKind
ExtraDepKind
ExtraDepKind - The kind of extra dependency file.
Definition: DependencyOutputOptions.h:24
clang::ShowIncludesDestination::Stderr
@ Stderr
clang::DependencyOutputOptions::ShowHeaderIncludes
unsigned ShowHeaderIncludes
Show header inclusions (-H).
Definition: DependencyOutputOptions.h:36
clang::DependencyOutputOptions::ShowSkippedHeaderIncludes
unsigned ShowSkippedHeaderIncludes
With ShowHeaderIncludes, show also includes that were skipped due to the "include guard optimizatio...
Definition: DependencyOutputOptions.h:42
clang::DependencyOutputOptions::OutputFormat
DependencyOutputFormat OutputFormat
The format for the dependency file.
Definition: DependencyOutputOptions.h:51
clang::EDK_DepFileEntry
@ EDK_DepFileEntry
Definition: DependencyOutputOptions.h:28
clang::DependencyOutputOptions::IncludeSystemHeaders
unsigned IncludeSystemHeaders
Include system header dependencies.
Definition: DependencyOutputOptions.h:35
clang::DependencyOutputOptions::IncludeModuleFiles
unsigned IncludeModuleFiles
Include module file dependencies.
Definition: DependencyOutputOptions.h:41
clang::ShowIncludesDestination
ShowIncludesDestination
ShowIncludesDestination - Destination for /showIncludes output.
Definition: DependencyOutputOptions.h:18
clang::ShowIncludesDestination::None
@ None
clang::DependencyOutputOptions::Targets
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...
Definition: DependencyOutputOptions.h:64
clang::EDK_ProfileList
@ EDK_ProfileList
Definition: DependencyOutputOptions.h:26
clang
Definition: CalledOnceCheck.h:17
clang::DependencyOutputOptions::OutputFile
std::string OutputFile
The file to write dependency output to.
Definition: DependencyOutputOptions.h:54
clang::ShowIncludesDestination::Stdout
@ Stdout
clang::DependencyOutputOptions::ShowIncludesPretendHeader
std::string ShowIncludesPretendHeader
In /showIncludes mode, pretend the main TU is a header with this name.
Definition: DependencyOutputOptions.h:71
clang::EDK_SanitizeIgnorelist
@ EDK_SanitizeIgnorelist
Definition: DependencyOutputOptions.h:25