1module Clang_Analysis {
2  requires cplusplus
3  umbrella "Analysis"
4
5  // This file is intended for repeated textual inclusion.
6  exclude header "Analysis/Analyses/ThreadSafetyOps.def"
7
8  module * { export * }
9}
10
11module Clang_AST {
12  requires cplusplus
13  umbrella "AST"
14
15  // These files are intended for repeated textual inclusion.
16  exclude header "AST/BuiltinTypes.def"
17  exclude header "AST/TypeLocNodes.def"
18  exclude header "AST/TypeNodes.def"
19
20  module * { export * }
21}
22
23module Clang_ASTMatchers { requires cplusplus umbrella "ASTMatchers" module * { export * } }
24
25module Clang_Basic {
26  requires cplusplus
27  umbrella "Basic"
28
29  // These files are intended for repeated textual inclusion.
30  exclude header "Basic/BuiltinsAArch64.def"
31  exclude header "Basic/BuiltinsARM64.def"
32  exclude header "Basic/BuiltinsARM.def"
33  exclude header "Basic/Builtins.def"
34  exclude header "Basic/BuiltinsHexagon.def"
35  exclude header "Basic/BuiltinsMips.def"
36  exclude header "Basic/BuiltinsNEON.def"
37  exclude header "Basic/BuiltinsNVPTX.def"
38  exclude header "Basic/BuiltinsPPC.def"
39  exclude header "Basic/BuiltinsR600.def"
40  exclude header "Basic/BuiltinsX86.def"
41  exclude header "Basic/BuiltinsXCore.def"
42  exclude header "Basic/BuiltinsLe64.def"
43  exclude header "Basic/DiagnosticOptions.def"
44  exclude header "Basic/LangOptions.def"
45  exclude header "Basic/OpenCLExtensions.def"
46  exclude header "Basic/OpenMPKinds.def"
47  exclude header "Basic/OperatorKinds.def"
48  exclude header "Basic/Sanitizers.def"
49  exclude header "Basic/TokenKinds.def"
50
51  // This file includes a header from Lex.
52  exclude header "Basic/PlistSupport.h"
53
54  // FIXME: This is logically a part of Basic, but has been put in the wrong place.
55  header "StaticAnalyzer/Core/AnalyzerOptions.h"
56
57  module * { export * }
58}
59
60module Clang_CodeGen { requires cplusplus umbrella "CodeGen" module * { export * } }
61module Clang_Config { requires cplusplus umbrella "Config" module * { export * } }
62
63// Files for diagnostic groups are spread all over the include/clang/ tree, but
64// logically form a single module.
65module Clang_Diagnostics {
66  requires cplusplus
67
68  module All { header "Basic/AllDiagnostics.h" export * }
69  module Analysis { header "Analysis/AnalysisDiagnostic.h" export * }
70  module AST { header "AST/ASTDiagnostic.h" export * }
71  module Comment { header "AST/CommentDiagnostic.h" export * }
72  module Driver { header "Driver/DriverDiagnostic.h" export * }
73  module Frontend { header "Frontend/FrontendDiagnostic.h" export * }
74  module Lex { header "Lex/LexDiagnostic.h" export * }
75  module Parse { header "Parse/ParseDiagnostic.h" export * }
76  // FIXME: This breaks the build of Clang_Sema, for unknown reasons.
77  //module Sema { header "Sema/SemaDiagnostic.h" export * }
78  module Serialization { header "Serialization/SerializationDiagnostic.h" export * }
79}
80
81module Clang_Driver {
82  requires cplusplus
83  umbrella "Driver"
84
85  // This file is intended for repeated textual inclusion.
86  exclude header "Driver/Types.def"
87
88  module * { export * }
89}
90
91module Clang_Edit { requires cplusplus umbrella "Edit" module * { export * } }
92module Clang_Format { requires cplusplus umbrella "Format" module * { export * } }
93
94module Clang_Frontend {
95  requires cplusplus
96  umbrella "Frontend"
97
98  // These files are intended for repeated textual inclusion.
99  exclude header "Frontend/CodeGenOptions.def"
100  exclude header "Frontend/LangStandards.def"
101
102  module * { export * }
103}
104
105module Clang_FrontendTool { requires cplusplus umbrella "FrontendTool" module * { export * } }
106module Clang_Index { requires cplusplus umbrella "Index" module * { export * } }
107module Clang_Lex { requires cplusplus umbrella "Lex" module * { export * } }
108module Clang_Parse { requires cplusplus umbrella "Parse" module * { export * } }
109module Clang_Rewrite { requires cplusplus umbrella "Rewrite" module * { export * } }
110module Clang_Sema { requires cplusplus umbrella "Sema" module * { export * } }
111module Clang_Serialization { requires cplusplus umbrella "Serialization" module * { export * } }
112
113module Clang_StaticAnalyzer {
114  requires cplusplus
115  umbrella "StaticAnalyzer"
116
117  // This file is intended for repeated textual inclusion.
118  exclude header "StaticAnalyzer/Core/Analyses.def"
119
120  module * { export * }
121}
122
123module Clang_Tooling { requires cplusplus umbrella "Tooling" module * { export * } }
124