module Clang_Analysis {
  requires cplusplus
  umbrella "Analysis"

  textual header "Analysis/Analyses/ThreadSafetyOps.def"

  module * { export * }
}

module Clang_AST {
  requires cplusplus
  umbrella "AST"

  textual header "AST/BuiltinTypes.def"
  textual header "AST/OperationKinds.def"
  textual header "AST/TypeLocNodes.def"
  textual header "AST/TypeNodes.def"

  module * { export * }
}

module Clang_ASTMatchers { requires cplusplus umbrella "ASTMatchers" module * { export * } }

module Clang_Basic {
  requires cplusplus
  umbrella "Basic"

  textual header "Basic/BuiltinsAArch64.def"
  textual header "Basic/BuiltinsAMDGPU.def"
  textual header "Basic/BuiltinsARM.def"
  textual header "Basic/Builtins.def"
  textual header "Basic/BuiltinsHexagon.def"
  textual header "Basic/BuiltinsLe64.def"
  textual header "Basic/BuiltinsMips.def"
  textual header "Basic/BuiltinsNEON.def"
  textual header "Basic/BuiltinsNios2.def"
  textual header "Basic/BuiltinsNVPTX.def"
  textual header "Basic/BuiltinsPPC.def"
  textual header "Basic/BuiltinsSystemZ.def"
  textual header "Basic/BuiltinsWebAssembly.def"
  textual header "Basic/BuiltinsX86.def"
  textual header "Basic/BuiltinsX86_64.def"
  textual header "Basic/BuiltinsXCore.def"
  textual header "Basic/DiagnosticOptions.def"
  textual header "Basic/LangOptions.def"
  textual header "Basic/OpenCLExtensions.def"
  textual header "Basic/OpenCLImageTypes.def"
  textual header "Basic/OpenMPKinds.def"
  textual header "Basic/OperatorKinds.def"
  textual header "Basic/Sanitizers.def"
  textual header "Basic/TokenKinds.def"

  module * { export * }
}

module Clang_CodeGen { requires cplusplus umbrella "CodeGen" module * { export * } }
module Clang_Config { requires cplusplus umbrella "Config" module * { export * } }

// Files for diagnostic groups are spread all over the include/clang/ tree, but
// logically form a single module.
module Clang_Diagnostics {
  requires cplusplus

  module All { header "Basic/AllDiagnostics.h" export * }
  module Analysis { header "Analysis/AnalysisDiagnostic.h" export * }
  module AST { header "AST/ASTDiagnostic.h" export * }
  module Comment { header "AST/CommentDiagnostic.h" export * }
  module Driver { header "Driver/DriverDiagnostic.h" export * }
  module Frontend { header "Frontend/FrontendDiagnostic.h" export * }
  module Lex { header "Lex/LexDiagnostic.h" export * }
  module Parse { header "Parse/ParseDiagnostic.h" export * }
  // FIXME: This breaks the build of Clang_Sema, for unknown reasons.
  //module Sema { header "Sema/SemaDiagnostic.h" export * }
  module Serialization { header "Serialization/SerializationDiagnostic.h" export * }
}

module Clang_Driver {
  requires cplusplus
  umbrella "Driver"

  textual header "Driver/Types.def"

  module * { export * }
}

module Clang_Edit { requires cplusplus umbrella "Edit" module * { export * } }
module Clang_Format { requires cplusplus umbrella "Format" module * { export * } }

module Clang_Frontend {
  requires cplusplus
  umbrella "Frontend"

  textual header "Frontend/CodeGenOptions.def"
  textual header "Frontend/LangStandards.def"

  module * { export * }

  // FIXME: This violates layers.
  exclude header "Frontend/PCHContainerOperations.h"
}

module Clang_FrontendTool { requires cplusplus umbrella "FrontendTool" module * { export * } }
module Clang_Index { requires cplusplus umbrella "Index" module * { export * } }
module Clang_Lex { requires cplusplus umbrella "Lex" module * { export * } }
module Clang_Parse { requires cplusplus umbrella "Parse" module * { export * } }
module Clang_Rewrite { requires cplusplus umbrella "Rewrite" module * { export * } }
module Clang_Sema { requires cplusplus umbrella "Sema" module * { export * } }
module Clang_Serialization { requires cplusplus umbrella "Serialization" module * { export * } }

module Clang_StaticAnalyzer_Core {
  requires cplusplus
  umbrella "StaticAnalyzer/Core"

  textual header "StaticAnalyzer/Core/Analyses.def"
  textual header "StaticAnalyzer/Core/PathSensitive/SVals.def"
  textual header "StaticAnalyzer/Core/PathSensitive/Symbols.def"
  textual header "StaticAnalyzer/Core/PathSensitive/Regions.def"

  module * { export * }
}

module Clang_StaticAnalyzer_Checkers {
  requires cplusplus
  umbrella "StaticAnalyzer/Checkers"
  module * { export * }
}

module Clang_StaticAnalyzer_Frontend {
  requires cplusplus
  umbrella "StaticAnalyzer/Frontend"
  module * { export * }
}

module Clang_Tooling {
  requires cplusplus umbrella "Tooling" module * { export * }
  // FIXME: Exclude these headers to avoid pulling all of the AST matchers
  // library into clang-format. Due to inline key functions in the headers,
  // importing the AST matchers library gives a link dependency on the AST
  // matchers (and thus the AST), which clang-format should not have.
  exclude header "Tooling/RefactoringCallbacks.h"
  exclude header "Tooling/Refactor/USRFinder.h"

  textual header "Tooling/Refactor/RefactoringActions.def"
}
