File indexing completed on 2026-05-10 08:36:55
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
0010 #define LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
0011
0012 #include "clang/Basic/HeaderInclude.h"
0013 #include <string>
0014 #include <vector>
0015
0016 namespace clang {
0017
0018
0019 enum class ShowIncludesDestination { None, Stdout, Stderr };
0020
0021
0022 enum class DependencyOutputFormat { Make, NMake };
0023
0024
0025 enum ExtraDepKind {
0026 EDK_SanitizeIgnorelist,
0027 EDK_ProfileList,
0028 EDK_ModuleFile,
0029 EDK_DepFileEntry,
0030 };
0031
0032
0033
0034 class DependencyOutputOptions {
0035 public:
0036 LLVM_PREFERRED_TYPE(bool)
0037 unsigned IncludeSystemHeaders : 1;
0038 LLVM_PREFERRED_TYPE(bool)
0039 unsigned ShowHeaderIncludes : 1;
0040 LLVM_PREFERRED_TYPE(bool)
0041 unsigned UsePhonyTargets : 1;
0042
0043
0044 LLVM_PREFERRED_TYPE(bool)
0045 unsigned AddMissingHeaderDeps : 1;
0046 LLVM_PREFERRED_TYPE(bool)
0047 unsigned IncludeModuleFiles : 1;
0048 LLVM_PREFERRED_TYPE(bool)
0049 unsigned ShowSkippedHeaderIncludes : 1;
0050
0051
0052
0053
0054
0055 HeaderIncludeFormatKind HeaderIncludeFormat = HIFMT_Textual;
0056
0057
0058 HeaderIncludeFilteringKind HeaderIncludeFiltering = HIFIL_None;
0059
0060
0061 ShowIncludesDestination ShowIncludesDest = ShowIncludesDestination::None;
0062
0063
0064 DependencyOutputFormat OutputFormat = DependencyOutputFormat::Make;
0065
0066
0067 std::string OutputFile;
0068
0069
0070
0071
0072
0073 std::string HeaderIncludeOutputFile;
0074
0075
0076
0077 std::vector<std::string> Targets;
0078
0079
0080
0081 std::vector<std::pair<std::string, ExtraDepKind>> ExtraDeps;
0082
0083
0084 std::string DOTOutputFile;
0085
0086
0087 std::string ModuleDependencyOutputDir;
0088
0089 public:
0090 DependencyOutputOptions()
0091 : IncludeSystemHeaders(0), ShowHeaderIncludes(0), UsePhonyTargets(0),
0092 AddMissingHeaderDeps(0), IncludeModuleFiles(0),
0093 ShowSkippedHeaderIncludes(0), HeaderIncludeFormat(HIFMT_Textual),
0094 HeaderIncludeFiltering(HIFIL_None) {}
0095 };
0096
0097 }
0098
0099 #endif