# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

load("//llvm:tblgen.bzl", "gentbl")
load("//llvm:binary_alias.bzl", "binary_alias")
load("//llvm:cc_plugin_library.bzl", "cc_plugin_library")

package(
    default_visibility = ["//visibility:public"],
    licenses = ["notice"],
)

exports_files([
    "tools/clang-format/clang-format.el",
    "tools/clang-format/clang-format-test.el",
    "tools/clang-format/clang-format.py",
    "tools/clang-rename/clang-rename.el",
    "tools/extra/clang-include-fixer/tool/clang-include-fixer.el",
    "tools/extra/clang-include-fixer/tool/clang-include-fixer-test.el",
])

cc_binary(
    name = "clang-tblgen",
    srcs = glob([
        "utils/TableGen/*.cpp",
        "utils/TableGen/*.h",
    ]),
    copts = [
        "$(STACK_FRAME_UNLIMITED)",
    ],
    stamp = 0,
    deps = [
        "//llvm:Support",
        "//llvm:TableGen",
        "//llvm:config",
    ],
)

gentbl(
    name = "diagnostic_defs_gen",
    tbl_outs = [(
        "-gen-clang-diags-defs -clang-component=%s" % c,
        "include/clang/Basic/Diagnostic%sKinds.inc" % c,
    ) for c in [
        "AST",
        "Analysis",
        "Comment",
        "Common",
        "CrossTU",
        "Driver",
        "Frontend",
        "Lex",
        "Parse",
        "Refactoring",
        "Sema",
        "Serialization",
    ]] + [
        (
            "-gen-clang-diag-groups",
            "include/clang/Basic/DiagnosticGroups.inc",
        ),
        (
            "-gen-clang-diags-index-name",
            "include/clang/Basic/DiagnosticIndexName.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/Diagnostic.td",
    td_srcs = glob(["include/clang/Basic/*.td"]),
)

gentbl(
    name = "basic_arm_neon_inc_gen",
    tbl_outs = [(
        "-gen-arm-neon-sema",
        "include/clang/Basic/arm_neon.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_neon.td",
    td_srcs = [
        "include/clang/Basic/arm_neon.td",
        "include/clang/Basic/arm_neon_incl.td",
    ],
)

gentbl(
    name = "basic_arm_fp16_inc_gen",
    tbl_outs = [(
        "-gen-arm-neon-sema",
        "include/clang/Basic/arm_fp16.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_fp16.td",
    td_srcs = [
        "include/clang/Basic/arm_fp16.td",
        "include/clang/Basic/arm_neon_incl.td",
    ],
)

gentbl(
    name = "basic_arm_mve_aliases_gen",
    tbl_outs = [(
        "-gen-arm-mve-builtin-aliases",
        "include/clang/Basic/arm_mve_builtin_aliases.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_mve.td",
    td_srcs = [
        "include/clang/Basic/arm_mve.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_arm_sve_builtins_gen",
    tbl_outs = [(
        "-gen-arm-sve-builtins",
        "include/clang/Basic/arm_sve_builtins.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_sve.td",
    td_srcs = [
        "include/clang/Basic/arm_sve.td",
    ],
)

gentbl(
    name = "basic_arm_sve_builtin_cg_gen",
    tbl_outs = [(
        "-gen-arm-sve-builtin-codegen",
        "include/clang/Basic/arm_sve_builtin_cg.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_sve.td",
    td_srcs = [
        "include/clang/Basic/arm_sve.td",
    ],
)

gentbl(
    name = "basic_arm_sve_typeflags_gen",
    tbl_outs = [(
        "-gen-arm-sve-typeflags",
        "include/clang/Basic/arm_sve_typeflags.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_sve.td",
    td_srcs = [
        "include/clang/Basic/arm_sve.td",
    ],
)

gentbl(
    name = "basic_arm_sve_sema_rangechecks_gen",
    tbl_outs = [(
        "-gen-arm-sve-sema-rangechecks",
        "include/clang/Basic/arm_sve_sema_rangechecks.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_sve.td",
    td_srcs = [
        "include/clang/Basic/arm_sve.td",
    ],
)

gentbl(
    name = "basic_arm_mve_cg_gen",
    tbl_outs = [(
        "-gen-arm-mve-builtin-codegen",
        "include/clang/Basic/arm_mve_builtin_cg.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_mve.td",
    td_srcs = [
        "include/clang/Basic/arm_mve.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_arm_mve_inc_gen",
    tbl_outs = [(
        "-gen-arm-mve-builtin-def",
        "include/clang/Basic/arm_mve_builtins.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_mve.td",
    td_srcs = [
        "include/clang/Basic/arm_mve.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_arm_mve_sema_gen",
    tbl_outs = [(
        "-gen-arm-mve-builtin-sema",
        "include/clang/Basic/arm_mve_builtin_sema.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_mve.td",
    td_srcs = [
        "include/clang/Basic/arm_mve.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_riscv_vector_builtins_gen",
    tbl_outs = [(
        "-gen-riscv-vector-builtins",
        "include/clang/Basic/riscv_vector_builtins.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/riscv_vector.td",
    td_srcs = [
        "include/clang/Basic/riscv_vector.td",
    ],
)

gentbl(
    name = "basic_riscv_vector_builtin_cg_gen",
    tbl_outs = [(
        "-gen-riscv-vector-builtin-codegen",
        "include/clang/Basic/riscv_vector_builtin_cg.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/riscv_vector.td",
    td_srcs = [
        "include/clang/Basic/riscv_vector.td",
    ],
)

gentbl(
    name = "basic_arm_cde_gen",
    tbl_outs = [(
        "-gen-arm-cde-builtin-def",
        "include/clang/Basic/arm_cde_builtins.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_cde.td",
    td_srcs = [
        "include/clang/Basic/arm_cde.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_arm_cde_aliases_gen",
    tbl_outs = [(
        "-gen-arm-cde-builtin-aliases",
        "include/clang/Basic/arm_cde_builtin_aliases.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_cde.td",
    td_srcs = [
        "include/clang/Basic/arm_cde.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_arm_cde_cg_gen",
    tbl_outs = [(
        "-gen-arm-cde-builtin-codegen",
        "include/clang/Basic/arm_cde_builtin_cg.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_cde.td",
    td_srcs = [
        "include/clang/Basic/arm_cde.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_arm_cde_sema_gen",
    tbl_outs = [(
        "-gen-arm-cde-builtin-sema",
        "include/clang/Basic/arm_cde_builtin_sema.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_cde.td",
    td_srcs = [
        "include/clang/Basic/arm_cde.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "basic_attr_gen",
    tbl_outs = [
        (
            "-gen-clang-attr-has-attribute-impl",
            "include/clang/Basic/AttrHasAttributeImpl.inc",
        ),
        (
            "-gen-clang-attr-list",
            "include/clang/Basic/AttrList.inc",
        ),
        (
            "-gen-clang-attr-subject-match-rule-list",
            "include/clang/Basic/AttrSubMatchRulesList.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/Attr.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/Attr.td",
        "include/clang/Basic/AttrDocs.td",
        "include/clang/Basic/DeclNodes.td",
        "include/clang/Basic/StmtNodes.td",
    ],
)

gentbl(
    name = "libsema_openclbuiltins_inc_gen",
    strip_include_prefix = "lib/Sema",
    tbl_outs = [(
        "-gen-clang-opencl-builtins",
        "lib/Sema/OpenCLBuiltins.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "lib/Sema/OpenCLBuiltins.td",
    td_srcs = [
        "lib/Sema/OpenCLBuiltins.td",
    ],
)

# Table definition files can be used for documentation:
filegroup(
    name = "all_table_defs",
    srcs = glob(["include/**/*.td"]),
)

exports_files(
    glob(["include/**/*.td"]),
)

genrule(
    name = "basic_version_gen",
    outs = ["include/clang/Basic/Version.inc"],
    cmd = (
        "echo '#define CLANG_VERSION 14.0.0' >> $@\n" +
        "echo '#define CLANG_VERSION_MAJOR 14' >> $@\n" +
        "echo '#define CLANG_VERSION_MINOR 0' >> $@\n" +
        "echo '#define CLANG_VERSION_PATCHLEVEL 0' >> $@\n" +
        "echo '#define CLANG_VERSION_STRING \"14.0.0\"' >> $@\n"
    ),
)

cc_library(
    name = "config",
    hdrs = [
        "include/clang/Basic/Version.inc",
        "include/clang/Config/config.h",
    ],
    includes = ["include"],
    deps = [
        # We rely on the LLVM config library to provide configuration defines.
        "//llvm:config",
    ],
)

# TODO: This should get replaced with something that actually generates the
# correct version number.
genrule(
    name = "vcs_version_gen",
    # This should be under lib/Basic, but because of how the include paths
    # are passed through bazel, it's easier to drop generated files next to
    # the other includes.
    outs = ["include/VCSVersion.inc"],
    cmd = "echo '#define CLANG_REVISION \"git\"' > $@",
)

# A hacky library to expose some internal headers of the `basic` library to its
# own implementation source files using a stripped include prefix rather than
# file-relative-inclusion. This is inherently non-modular as these headers will
# be repeated in the sources below for file-relative-inclusion.
cc_library(
    name = "basic_internal_headers",
    hdrs = glob([
        "lib/Basic/*.h",
    ]),
    features = ["-header_modules"],
    strip_include_prefix = "lib/Basic",
)

cc_library(
    name = "basic",
    srcs = [
        "include/clang/Basic/Version.inc",
        "include/VCSVersion.inc",
    ] + glob([
        "lib/Basic/*.cpp",
        "lib/Basic/*.c",
        "lib/Basic/*.h",
        "lib/Basic/Targets/*.cpp",
        "lib/Basic/Targets/*.h",
    ]),
    hdrs = glob([
        "include/clang/Basic/*.h",
    ]),
    copts = [
        "-DHAVE_VCS_VERSION_INC",
        "$(STACK_FRAME_UNLIMITED)",
    ],
    includes = ["include"],
    textual_hdrs = [
        "include/clang/Basic/arm_fp16.inc",
        "include/clang/Basic/arm_mve_builtins.inc",
        "include/clang/Basic/arm_mve_builtin_aliases.inc",
        "include/clang/Basic/arm_mve_builtin_cg.inc",
        "include/clang/Basic/arm_mve_builtin_sema.inc",
        "include/clang/Basic/arm_neon.inc",
        "include/clang/Basic/AttrHasAttributeImpl.inc",
        "include/clang/Basic/AttrList.inc",
        "include/clang/Basic/AttrSubMatchRulesList.inc",
        "include/clang/Basic/DiagnosticASTKinds.inc",
        "include/clang/Basic/DiagnosticGroups.inc",
        "include/clang/Basic/DiagnosticRefactoringKinds.inc",
        "include/clang/Basic/DiagnosticAnalysisKinds.inc",
        "include/clang/Basic/DiagnosticSemaKinds.inc",
        "include/clang/Basic/DiagnosticCommentKinds.inc",
        "include/clang/Basic/DiagnosticParseKinds.inc",
        "include/clang/Basic/DiagnosticLexKinds.inc",
        "include/clang/Basic/DiagnosticSerializationKinds.inc",
        "include/clang/Basic/DiagnosticFrontendKinds.inc",
        "include/clang/Basic/DiagnosticDriverKinds.inc",
        "include/clang/Basic/DiagnosticCrossTUKinds.inc",
        "include/clang/Basic/DiagnosticCommonKinds.inc",
        "include/clang/Basic/DiagnosticIndexName.inc",
    ] + glob([
        "include/clang/Basic/*.def",
    ]),
    deps = [
        ":basic_arm_cde_gen",
        ":basic_arm_fp16_inc_gen",
        ":basic_arm_mve_aliases_gen",
        ":basic_arm_mve_cg_gen",
        ":basic_arm_mve_inc_gen",
        ":basic_arm_mve_sema_gen",
        ":basic_arm_neon_inc_gen",
        ":basic_arm_sve_builtins_gen",
        ":basic_arm_sve_typeflags_gen",
        ":basic_attr_gen",
        ":basic_internal_headers",
        ":basic_riscv_vector_builtin_cg_gen",
        ":basic_riscv_vector_builtins_gen",
        ":config",
        ":diagnostic_defs_gen",
        ":sema_attr_gen",
        "//llvm:Core",
        "//llvm:FrontendOpenMP",
        "//llvm:Instrumentation",
        "//llvm:MC",
        "//llvm:Support",
        "//llvm:Target",
        "//llvm:config",
    ],
)

cc_library(
    name = "lex",
    srcs = glob([
        "lib/Lex/*.cpp",
        "lib/Lex/*.h",
    ]),
    hdrs = glob([
        "include/clang/Lex/*.h",
    ]),
    includes = ["include"],
    deps = [
        ":basic",
        "//llvm:Support",
    ],
)

gentbl(
    name = "ast_attr_gen",
    tbl_outs = [
        (
            "-gen-clang-attr-ast-visitor",
            "include/clang/AST/AttrVisitor.inc",
        ),
        (
            "-gen-clang-attr-classes",
            "include/clang/AST/Attrs.inc",
        ),
        (
            "-gen-clang-attr-doc-table",
            "lib/AST/AttrDocTable.inc",
        ),
        (
            "-gen-clang-attr-text-node-dump",
            "include/clang/AST/AttrTextNodeDump.inc",
        ),
        (
            "-gen-clang-attr-node-traverse",
            "include/clang/AST/AttrNodeTraverse.inc",
        ),
        (
            "-gen-clang-attr-impl",
            "include/clang/AST/AttrImpl.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/Attr.td",
    td_srcs = [
        "include/clang/Basic/Attr.td",
        "include/clang/Basic/AttrDocs.td",
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/DeclNodes.td",
        "include/clang/Basic/StmtNodes.td",
    ],
)

gentbl(
    name = "ast_decl_nodes_gen",
    tbl_outs = [(
        "-gen-clang-decl-nodes",
        "include/clang/AST/DeclNodes.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/DeclNodes.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/DeclNodes.td",
    ],
)

gentbl(
    name = "ast_stmt_nodes_gen",
    tbl_outs = [(
        "-gen-clang-stmt-nodes",
        "include/clang/AST/StmtNodes.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/StmtNodes.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/StmtNodes.td",
    ],
)

gentbl(
    name = "ast_comment_nodes_gen",
    tbl_outs = [(
        "-gen-clang-comment-nodes",
        "include/clang/AST/CommentNodes.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/CommentNodes.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/CommentNodes.td",
    ],
)

gentbl(
    name = "ast_comment_command_info_gen",
    tbl_outs = [
        (
            "-gen-clang-comment-command-info",
            "include/clang/AST/CommentCommandInfo.inc",
        ),
        (
            "-gen-clang-comment-command-list",
            "include/clang/AST/CommentCommandList.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/AST/CommentCommands.td",
    td_srcs = ["include/clang/AST/CommentCommands.td"],
)

gentbl(
    name = "ast_comment_html_tags_gen",
    tbl_outs = [(
        "-gen-clang-comment-html-tags",
        "include/clang/AST/CommentHTMLTags.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/AST/CommentHTMLTags.td",
    td_srcs = ["include/clang/AST/CommentHTMLTags.td"],
)

gentbl(
    name = "ast_comment_html_tags_properties_gen",
    tbl_outs = [(
        "-gen-clang-comment-html-tags-properties",
        "include/clang/AST/CommentHTMLTagsProperties.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/AST/CommentHTMLTags.td",
    td_srcs = ["include/clang/AST/CommentHTMLTags.td"],
)

gentbl(
    name = "ast_comment_html_named_character_references_gen",
    tbl_outs = [(
        "-gen-clang-comment-html-named-character-references",
        "include/clang/AST/CommentHTMLNamedCharacterReferences.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/AST/CommentHTMLNamedCharacterReferences.td",
    td_srcs = ["include/clang/AST/CommentHTMLNamedCharacterReferences.td"],
)

gentbl(
    name = "ast_stmt_data_collectors_gen",
    tbl_outs = [(
        "-gen-clang-data-collectors",
        "include/clang/AST/StmtDataCollectors.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/AST/StmtDataCollectors.td",
    td_srcs = ["include/clang/AST/StmtDataCollectors.td"],
)

gentbl(
    name = "ast_interp_opcodes_gen",
    tbl_outs = [(
        "-gen-clang-opcodes",
        "lib/AST/Interp/Opcodes.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "lib/AST/Interp/Opcodes.td",
    td_srcs = ["lib/AST/Interp/Opcodes.td"],
)

gentbl(
    name = "ast_properties_base_gen",
    tbl_outs = [
        (
            "-gen-clang-basic-reader",
            "include/clang/AST/AbstractBasicReader.inc",
        ),
        (
            "-gen-clang-basic-writer",
            "include/clang/AST/AbstractBasicWriter.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/AST/PropertiesBase.td",
    td_srcs = ["include/clang/AST/PropertiesBase.td"],
)

gentbl(
    name = "ast_type_properties_gen",
    tbl_outs = [
        (
            "-gen-clang-type-reader",
            "include/clang/AST/AbstractTypeReader.inc",
        ),
        (
            "-gen-clang-type-writer",
            "include/clang/AST/AbstractTypeWriter.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/AST/TypeProperties.td",
    td_srcs = [
        "include/clang/AST/PropertiesBase.td",
        "include/clang/AST/TypeProperties.td",
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/TypeNodes.td",
    ],
)

gentbl(
    name = "type_nodes_gen",
    tbl_outs = [(
        "-gen-clang-type-nodes",
        "include/clang/AST/TypeNodes.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/TypeNodes.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/TypeNodes.td",
    ],
)

cc_library(
    name = "ast",
    srcs = glob([
        "lib/AST/*.cpp",
        "lib/AST/*.h",
        "lib/AST/Interp/*.cpp",
        "lib/AST/Interp/*.h",
    ]) + [
        "lib/AST/AttrDocTable.inc",
        "lib/AST/Interp/Opcodes.inc",
    ],
    hdrs = glob([
        "include/clang/AST/*.h",
    ]),
    copts = [
        # FIXME: This is necessary to allow "file relative" include paths from
        # non-generated `srcs` to find generated `srcs` above. Bazel should
        # either make this work automatically by creating a unified tree of
        # `srcs` or at least provide a `local_includes` that has the path
        # translation logic of `includes` but is only used locally (similar to
        # `local_defines` vs. `defines`). Until one of those lands, this is the
        # least bad approach. Using `includes` is *specifically* problematic for
        # this library because it contains files that collide easily with system
        # headers such as `CXXABI.h`.
        "-I$(GENDIR)/external/llvm-project/clang/lib/AST",
        "-I$(GENDIR)/external/llvm-project/clang/lib/AST/Interp",
    ],
    textual_hdrs = [
        "include/clang/AST/AttrImpl.inc",
        "include/clang/AST/AttrNodeTraverse.inc",
        "include/clang/AST/Attrs.inc",
        "include/clang/AST/AttrTextNodeDump.inc",
        "include/clang/AST/AttrVisitor.inc",
        "include/clang/AST/CommentCommandInfo.inc",
        "include/clang/AST/CommentCommandList.inc",
        "include/clang/AST/CommentHTMLNamedCharacterReferences.inc",
        "include/clang/AST/CommentHTMLTags.inc",
        "include/clang/AST/CommentHTMLTagsProperties.inc",
        "include/clang/AST/CommentNodes.inc",
        "include/clang/AST/DeclNodes.inc",
        "include/clang/AST/StmtDataCollectors.inc",
        "include/clang/AST/StmtNodes.inc",
    ] + glob([
        "include/clang/AST/*.def",
    ]),
    deps = [
        ":ast_attr_gen",
        ":ast_comment_command_info_gen",
        ":ast_comment_html_named_character_references_gen",
        ":ast_comment_html_tags_gen",
        ":ast_comment_html_tags_properties_gen",
        ":ast_comment_nodes_gen",
        ":ast_decl_nodes_gen",
        ":ast_interp_opcodes_gen",
        ":ast_properties_base_gen",
        ":ast_stmt_data_collectors_gen",
        ":ast_stmt_nodes_gen",
        ":ast_type_properties_gen",
        ":basic",
        ":lex",
        ":type_nodes_gen",
        "//llvm:BinaryFormat",
        "//llvm:Core",
        "//llvm:FrontendOpenMP",
        "//llvm:Support",
    ],
)

cc_library(
    name = "index",
    srcs = glob([
        "lib/Index/*.cpp",
        "lib/Index/*.h",
    ]),
    hdrs = glob([
        "include/clang/Index/*.h",
        "include/clang-c/*.h",
    ]),
    includes = ["include"],
    deps = [
        ":ast",
        ":basic",
        ":format",
        ":frontend",
        ":lex",
        ":rewrite",
        ":serialization",
        "//llvm:Core",
        "//llvm:Support",
    ],
)

cc_library(
    name = "analysis",
    srcs = glob([
        "lib/Analysis/*.cpp",
        "lib/Analysis/*.h",
    ]),
    hdrs = glob([
        "include/clang/Analysis/**/*.h",
    ]),
    includes = ["include"],
    textual_hdrs = glob([
        "include/clang/Analysis/**/*.def",
    ]),
    deps = [
        ":ast",
        ":ast_matchers",
        ":basic",
        ":lex",
        "//llvm:Support",
    ],
)

gentbl(
    name = "sema_attr_gen",
    tbl_outs = [
        (
            "-gen-clang-attr-parsed-attr-impl",
            "include/clang/Sema/AttrParsedAttrImpl.inc",
        ),
        (
            "-gen-clang-attr-parsed-attr-kinds",
            "include/clang/Sema/AttrParsedAttrKinds.inc",
        ),
        (
            "-gen-clang-attr-parsed-attr-list",
            "include/clang/Sema/AttrParsedAttrList.inc",
        ),
        (
            "-gen-clang-attr-spelling-index",
            "include/clang/Sema/AttrSpellingListIndex.inc",
        ),
        (
            "-gen-clang-attr-template-instantiate",
            "include/clang/Sema/AttrTemplateInstantiate.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/Attr.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/Attr.td",
        "include/clang/Basic/AttrDocs.td",
        "include/clang/Basic/DeclNodes.td",
        "include/clang/Basic/StmtNodes.td",
    ],
)

cc_library(
    name = "sema",
    srcs = glob([
        "lib/Sema/*.cpp",
        "lib/Sema/*.h",
    ]),
    hdrs = glob([
        "include/clang/Sema/*.h",
        "include/clang-c/*.h",
    ]),
    copts = ["$(STACK_FRAME_UNLIMITED)"],
    includes = ["include"],
    textual_hdrs = [
        "include/clang/Sema/AttrParsedAttrImpl.inc",
        "include/clang/Sema/AttrParsedAttrKinds.inc",
        "include/clang/Sema/AttrParsedAttrList.inc",
        "include/clang/Sema/AttrSpellingListIndex.inc",
        "include/clang/Sema/AttrTemplateInstantiate.inc",
        "lib/Sema/OpenCLBuiltins.inc",
    ],
    deps = [
        ":analysis",
        ":ast",
        ":basic",
        ":basic_arm_cde_aliases_gen",
        ":basic_arm_cde_sema_gen",
        ":basic_arm_sve_builtins_gen",
        ":basic_arm_sve_sema_rangechecks_gen",
        ":edit",
        ":lex",
        ":libsema_openclbuiltins_inc_gen",
        ":sema_attr_gen",
        ":type_nodes_gen",
        "//llvm:AllTargetsAsmParsers",
        "//llvm:AllTargetsCodeGens",
        "//llvm:Core",
        "//llvm:FrontendOpenMP",
        "//llvm:MC",
        "//llvm:MCParser",
        "//llvm:Support",
    ],
)

gentbl(
    name = "parse_attr_gen",
    tbl_outs = [
        (
            "-gen-clang-attr-parser-string-switches",
            "include/clang/Parse/AttrParserStringSwitches.inc",
        ),
        (
            "-gen-clang-attr-subject-match-rules-parser-string-switches",
            "include/clang/Parse/AttrSubMatchRulesParserStringSwitches.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/Attr.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/Attr.td",
        "include/clang/Basic/AttrDocs.td",
        "include/clang/Basic/DeclNodes.td",
        "include/clang/Basic/StmtNodes.td",
    ],
)

cc_library(
    name = "parse",
    srcs = [
    ] + glob([
        "lib/Parse/*.cpp",
        "lib/Parse/*.h",
    ]),
    hdrs = [
        "include/clang/Parse/AttrParserStringSwitches.inc",
        "include/clang/Parse/AttrSubMatchRulesParserStringSwitches.inc",
    ] + glob(["include/clang/Parse/*.h"]),
    includes = ["include"],
    deps = [
        ":ast",
        ":basic",
        ":lex",
        ":parse_attr_gen",
        ":sema",
        "//llvm:FrontendOpenMP",
        "//llvm:MC",
        "//llvm:MCParser",
        "//llvm:Support",
    ],
)

cc_library(
    name = "ast_matchers",
    srcs = glob([
        "lib/ASTMatchers/*.cpp",
        "lib/ASTMatchers/*.h",
    ]),
    hdrs = glob(["include/clang/ASTMatchers/*.h"]),
    includes = ["include"],
    deps = [
        ":ast",
        ":basic",
        ":lex",
        "//llvm:Support",
    ],
)

cc_library(
    name = "ast_matchers_dynamic",
    srcs = glob([
        "lib/ASTMatchers/Dynamic/*.cpp",
        "lib/ASTMatchers/Dynamic/*.h",
    ]),
    hdrs = glob(["include/clang/ASTMatchers/Dynamic/*.h"]),
    copts = ["$(STACK_FRAME_UNLIMITED)"],
    includes = ["include"],
    deps = [
        ":ast",
        ":ast_matchers",
        ":basic",
        "//llvm:FrontendOpenMP",
        "//llvm:Support",
    ],
)

cc_library(
    name = "rewrite",
    srcs = glob([
        "lib/Rewrite/*.cpp",
        "lib/Rewrite/*.h",
    ]),
    hdrs = glob(["include/clang/Rewrite/Core/*.h"]),
    includes = ["include"],
    deps = [
        ":ast",
        ":basic",
        ":edit",
        ":lex",
        "//llvm:Support",
    ],
)

cc_library(
    name = "testing",
    srcs = glob([
        "lib/Testing/*.cpp",
    ]),
    hdrs = glob(["include/clang/Testing/*.h"]),
    includes = ["include"],
    deps = [
        ":basic",
        "//llvm:Support",
    ],
)

cc_library(
    name = "tooling_core",
    srcs = glob([
        "lib/Tooling/Core/*.cpp",
        "lib/Tooling/Core/*.h",
    ]),
    hdrs = glob(["include/clang/Tooling/Core/*.h"]),
    includes = ["include"],
    deps = [
        ":ast",
        ":basic",
        ":lex",
        ":rewrite",
        "//llvm:Support",
    ],
)

cc_library(
    name = "tooling",
    srcs = glob(
        [
            "lib/Tooling/*.cpp",
        ],
        # Temporarily disable until we support the generated file.
        exclude = ["lib/Tooling/NodeIntrospection.cpp"],
    ),
    hdrs = glob([
        "include/clang/Tooling/*.h",
    ]),
    includes = ["include"],
    deps = [
        ":ast",
        ":ast_matchers",
        ":basic",
        ":driver",
        ":format",
        ":frontend",
        ":lex",
        ":rewrite",
        ":tooling_core",
        "//llvm:Option",
        "//llvm:Support",
    ],
)

cc_library(
    name = "tooling_inclusions",
    srcs = glob([
        "lib/Tooling/Inclusions/**/*.cpp",
    ]),
    hdrs = glob([
        "include/clang/Tooling/Inclusions/**/*.h",
    ]),
    deps = [
        ":basic",
        ":lex",
        ":rewrite",
        ":tooling_core",
        "//llvm:Support",
    ],
)

cc_library(
    name = "tooling_refactoring",
    srcs = glob([
        "lib/Tooling/Refactoring/**/*.cpp",
        "lib/Tooling/Refactoring/**/*.h",
    ]),
    hdrs = glob([
        "include/clang/Tooling/Refactoring/**/*.h",
        "include/clang/Tooling/Refactoring/**/*.def",
    ]),
    deps = [
        ":ast",
        ":ast_matchers",
        ":basic",
        ":format",
        ":frontend",
        ":index",
        ":lex",
        ":rewrite",
        ":tooling",
        ":tooling_core",
        "//llvm:Support",
    ],
)

gentbl(
    name = "tooling_syntax_gen",
    tbl_outs = [
        ("-gen-clang-syntax-node-list", "include/clang/Tooling/Syntax/Nodes.inc"),
        ("-gen-clang-syntax-node-classes", "include/clang/Tooling/Syntax/NodeClasses.inc"),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Tooling/Syntax/Nodes.td",
    td_srcs = [
        "include/clang/Tooling/Syntax/Nodes.td",
        "include/clang/Tooling/Syntax/Syntax.td",
    ],
)

cc_library(
    name = "tooling_syntax",
    srcs = glob(["lib/Tooling/Syntax/**/*.cpp"]),
    hdrs = glob(["include/clang/Tooling/Syntax/**/*.h"]),
    deps = [
        ":ast",
        ":basic",
        ":lex",
        ":tooling_core",
        ":tooling_syntax_gen",
        "//llvm:Support",
    ],
)

cc_library(
    name = "tooling_dependency_scanning",
    srcs = glob(["lib/Tooling/DependencyScanning/**/*.cpp"]),
    hdrs = glob(["include/clang/Tooling/DependencyScanning/**/*.h"]),
    deps = [
        ":basic",
        ":codegen",
        ":frontend",
        ":lex",
        ":serialization",
        ":tooling",
        "//llvm:Support",
    ],
)

cc_library(
    name = "transformer",
    srcs = glob(["lib/Tooling/Transformer/**/*.cpp"]),
    hdrs = glob(["include/clang/Tooling/Transformer/**/*.h"]),
    deps = [
        ":ast",
        ":ast_matchers",
        ":basic",
        ":lex",
        ":rewrite",
        ":tooling_refactoring",
        "//llvm:Support",
    ],
)

cc_library(
    name = "ast-diff",
    srcs = glob(["lib/Tooling/ASTDiff/*.cpp"]),
    hdrs = glob(["include/clang/Tooling/ASTDiff/*.h"]),
    deps = [
        ":ast",
        ":basic",
        ":lex",
        "//llvm:Support",
    ],
)

cc_library(
    name = "crosstu",
    srcs = glob(["lib/CrossTU/*.cpp"]),
    hdrs = glob(["include/clang/CrossTU/*.h"]),
    deps = [
        ":ast",
        ":basic",
        ":frontend",
        ":index",
        "//llvm:Option",
        "//llvm:Support",
    ],
)

cc_library(
    name = "format",
    srcs = glob(
        [
            "lib/Format/*.cpp",
            "lib/Format/*.h",
        ],
    ),
    hdrs = [
        "lib/Format/FormatTokenLexer.h",
        "lib/Format/Macros.h",
    ] + glob([
        "include/clang/Format/*.h",
    ]),
    includes = ["include"],
    deps = [
        ":basic",
        ":lex",
        ":tooling_core",
        ":tooling_inclusions",
        "//llvm:Support",
    ],
)

cc_library(
    name = "edit",
    srcs = glob(["lib/Edit/*.cpp"]),
    hdrs = glob(["include/clang/Edit/*.h"]),
    includes = ["include"],
    deps = [
        ":ast",
        ":basic",
        ":lex",
        "//llvm:Support",
    ],
)

cc_library(
    name = "static_analyzer_core_options",
    hdrs = [
        "include/clang/StaticAnalyzer/Core/AnalyzerOptions.h",
    ],
    textual_hdrs = [
        "include/clang/StaticAnalyzer/Core/Analyses.def",
        "include/clang/StaticAnalyzer/Core/AnalyzerOptions.def",
    ],
    deps = [
        ":basic",
        ":static_analyzer_checkers_gen",
        "//llvm:Support",
    ],
)

cc_library(
    name = "static_analyzer_core",
    srcs = glob([
        "lib/StaticAnalyzer/Core/**/*.cpp",
        "lib/StaticAnalyzer/Core/**/*.h",
    ]),
    hdrs = glob([
        "include/clang/StaticAnalyzer/Core/**/*.h",
    ]),
    includes = ["include"],
    textual_hdrs = glob([
        "include/clang/StaticAnalyzer/Core/**/*.def",
    ]),
    deps = [
        ":analysis",
        ":ast",
        ":ast_matchers",
        ":basic",
        ":crosstu",
        ":driver",
        ":frontend",
        ":lex",
        ":rewrite",
        ":static_analyzer_checkers_gen",
        ":tooling",
        ":tooling_core",
        "//llvm:Support",
    ],
)

gentbl(
    name = "static_analyzer_checkers_gen",
    tbl_outs = [(
        "-gen-clang-sa-checkers",
        "include/clang/StaticAnalyzer/Checkers/Checkers.inc",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/StaticAnalyzer/Checkers/Checkers.td",
    td_srcs = [
        "include/clang/StaticAnalyzer/Checkers/CheckerBase.td",
        "include/clang/StaticAnalyzer/Checkers/Checkers.td",
    ],
)

cc_library(
    name = "static_analyzer_checkers",
    srcs = glob([
        "lib/StaticAnalyzer/Checkers/**/*.cpp",
        "lib/StaticAnalyzer/Checkers/**/*.h",
    ]),
    hdrs = [
        "include/clang/StaticAnalyzer/Checkers/Checkers.inc",
    ] + glob([
        "include/clang/StaticAnalyzer/Checkers/**/*.h",
    ]),
    copts = ["$(STACK_FRAME_UNLIMITED)"],
    includes = ["include"],
    deps = [
        ":analysis",
        ":ast",
        ":ast_matchers",
        ":basic",
        ":driver",
        ":lex",
        ":static_analyzer_checkers_gen",
        ":static_analyzer_core",
        "//llvm:Support",
    ],
)

gentbl(
    name = "driver_options_inc_gen",
    tbl_outs = [(
        "-gen-opt-parser-defs",
        "include/clang/Driver/Options.inc",
    )],
    tblgen = "//llvm:llvm-tblgen",
    td_file = "include/clang/Driver/Options.td",
    td_srcs = [
        "//llvm:include/llvm/Option/OptParser.td",
    ],
)

cc_library(
    name = "driver",
    srcs = glob(
        [
            "lib/Driver/*.cpp",
            "lib/Driver/*.h",
            "lib/Driver/Arch/*.cpp",
            "lib/Driver/Arch/*.h",
            "lib/Driver/ToolChains/*.cpp",
            "lib/Driver/ToolChains/*.h",
            "lib/Driver/ToolChains/Arch/*.cpp",
            "lib/Driver/ToolChains/Arch/*.h",
        ],
        exclude = [
            "lib/Driver/ToolChains/MSVCSetupApi.h",
        ],
    ),
    hdrs = glob([
        "include/clang/Driver/*.h",
    ]),
    copts = ["$(STACK_FRAME_UNLIMITED)"],
    includes = [
        "include",
        # TODO: This is likely a layering issue, but files in Arch are currently
        # directly #including "Tools.h".
        "lib/Driver",
    ],
    linkopts = select({
        "@bazel_tools//src/conditions:windows": ["version.lib"],
        "//conditions:default": [],
    }),
    textual_hdrs = glob([
        "include/clang/Driver/*.def",
    ]),
    deps = [
        ":ast",
        ":basic",
        ":config",
        ":driver_options_inc_gen",
        ":parse",
        ":static_analyzer_checkers_gen",
        "//llvm:BinaryFormat",
        "//llvm:MC",
        "//llvm:Option",
        "//llvm:ProfileData",
        "//llvm:Support",
        "//llvm:Target",
        "//llvm:config",
    ],
)

gentbl(
    name = "headers_arm_neon_gen",
    tbl_outs = [(
        "-gen-arm-neon",
        "lib/Headers/arm_neon.h",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_neon.td",
    td_srcs = [
        "include/clang/Basic/arm_neon.td",
        "include/clang/Basic/arm_neon_incl.td",
    ],
)

gentbl(
    name = "headers_arm_fp16_gen",
    tbl_outs = [(
        "-gen-arm-fp16",
        "lib/Headers/arm_fp16.h",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_fp16.td",
    td_srcs = [
        "include/clang/Basic/arm_fp16.td",
        "include/clang/Basic/arm_neon_incl.td",
    ],
)

gentbl(
    name = "headers_arm_mve_gen",
    tbl_outs = [(
        "-gen-arm-mve-header",
        "lib/Headers/arm_mve.h",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_mve.td",
    td_srcs = [
        "include/clang/Basic/arm_mve.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "headers_arm_cde_gen",
    tbl_outs = [(
        "-gen-arm-cde-header",
        "lib/Headers/arm_cde.h",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_cde.td",
    td_srcs = [
        "include/clang/Basic/arm_cde.td",
        "include/clang/Basic/arm_mve_defs.td",
    ],
)

gentbl(
    name = "headers_arm_sve_gen",
    tbl_outs = [(
        "-gen-arm-sve-header",
        "lib/Headers/arm_sve.h",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_sve.td",
    td_srcs = [
        "include/clang/Basic/arm_sve.td",
    ],
)

gentbl(
    name = "headers_arm_bf16_gen",
    tbl_outs = [(
        "-gen-arm-bf16",
        "lib/Headers/arm_bf16.h",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/arm_bf16.td",
    td_srcs = [
        "include/clang/Basic/arm_bf16.td",
        "include/clang/Basic/arm_neon_incl.td",
    ],
)

gentbl(
    name = "headers_riscv_vector",
    tbl_outs = [(
        "-gen-riscv-vector-header",
        "lib/Headers/riscv_vector.h",
    )],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/riscv_vector.td",
    td_srcs = [
        "include/clang/Basic/riscv_vector.td",
    ],
)

# We generate the set of builtin headers under a special subdirectory in the
# 'bin' section of the bazel output so that they can be used as data
# dependencies. It requires listing explicitly all the generated inputs here.
builtin_headers = glob(["lib/Headers/**/*.h"]) + [
    "lib/Headers/arm_cde.h",
    "lib/Headers/arm_fp16.h",
    "lib/Headers/arm_mve.h",
    "lib/Headers/arm_neon.h",
    "lib/Headers/arm_sve.h",
    "lib/Headers/arm_bf16.h",
    "lib/Headers/riscv_vector.h",
]

genrule(
    name = "builtin_headers_gen",
    srcs = builtin_headers,
    outs = [hdr.replace("lib/Headers/", "staging/include/") for hdr in builtin_headers],
    cmd = """
       for src in $(SRCS); do
         relsrc=$${src/*external\\/llvm-project\\/clang\\/lib\\/Headers\\/}
         target=$(@D)/staging/include/$$relsrc
         mkdir -p $$(dirname $$target)
         cp $$src $$target
       done""",
    output_to_bindir = 1,
)

cc_library(
    name = "frontend",
    srcs = glob([
        "lib/Frontend/*.cpp",
        "lib/Frontend/*.h",
    ]),
    hdrs = glob([
        "include/clang/Frontend/*.h",
    ]),
    copts = ["$(STACK_FRAME_UNLIMITED)"],
    data = [":builtin_headers_gen"],
    includes = ["include"],
    textual_hdrs = glob([
        "include/clang/Frontend/*.def",
    ]),
    deps = [
        ":ast",
        ":basic",
        ":config",
        ":driver",
        ":driver_options_inc_gen",
        ":edit",
        ":lex",
        ":parse",
        ":sema",
        ":serialization",
        ":static_analyzer_core_options",
        "//llvm:BinaryFormat",
        "//llvm:BitReader",
        "//llvm:BitstreamReader",
        "//llvm:BitstreamWriter",
        "//llvm:Core",
        "//llvm:Linker",
        "//llvm:MC",
        "//llvm:Option",
        "//llvm:ProfileData",
        "//llvm:Support",
        "//llvm:Target",
        "//llvm:config",
    ],
)

cc_library(
    name = "frontend_rewrite",
    srcs = glob([
        "lib/Frontend/Rewrite/*.cpp",
        "lib/Frontend/Rewrite/*.h",
    ]),
    hdrs = glob(["include/clang/Rewrite/Frontend/*.h"]),
    includes = ["include"],
    deps = [
        ":ast",
        ":basic",
        ":config",
        ":edit",
        ":frontend",
        ":lex",
        ":parse",
        ":rewrite",
        ":serialization",
        "//llvm:Support",
    ],
)

cc_library(
    name = "interpreter",
    srcs = glob([
        "lib/Interpreter/*.cpp",
        "lib/Interpreter/*.h",
    ]),
    hdrs = glob(["include/clang/Interpreter/*.h"]),
    includes = ["include"],
    deps = [
        ":analysis",
        ":ast",
        ":basic",
        ":codegen",
        ":driver",
        ":edit",
        ":frontend",
        ":frontend_tool",
        ":lex",
        ":parse",
        ":sema",
        ":serialization",
        "//llvm:AllTargetsAsmParsers",
        "//llvm:AllTargetsCodeGens",
        "//llvm:Core",
        "//llvm:ExecutionEngine",
        "//llvm:Option",
        "//llvm:OrcJIT",
        "//llvm:Support",
        "//llvm:Target",
    ],
)

cc_library(
    name = "codegen",
    srcs = glob([
        "lib/CodeGen/*.cpp",
        "lib/CodeGen/*.h",
    ]),
    hdrs = glob(["include/clang/CodeGen/*.h"]),
    copts = ["$(STACK_FRAME_UNLIMITED)"],
    includes = ["include"],
    deps = [
        ":analysis",
        ":ast",
        ":basic",
        ":basic_arm_cde_cg_gen",
        ":basic_arm_sve_builtin_cg_gen",
        ":basic_riscv_vector_builtin_cg_gen",
        ":driver",
        ":frontend",
        ":lex",
        ":sema",
        ":type_nodes_gen",
        "//llvm:AllTargetsAsmParsers",
        "//llvm:Analysis",
        "//llvm:BitReader",
        "//llvm:BitWriter",
        "//llvm:BitstreamReader",
        "//llvm:CodeGen",
        "//llvm:Core",
        "//llvm:Coroutines",
        "//llvm:Coverage",
        "//llvm:DebugInfoDWARF",
        "//llvm:Demangle",
        "//llvm:FrontendOpenMP",
        "//llvm:IPO",
        "//llvm:IRReader",
        "//llvm:InstCombine",
        "//llvm:Instrumentation",
        "//llvm:LTO",
        "//llvm:Linker",
        "//llvm:MC",
        "//llvm:ObjCARC",
        "//llvm:Object",
        "//llvm:Passes",
        "//llvm:ProfileData",
        "//llvm:Scalar",
        "//llvm:Support",
        "//llvm:Target",
        "//llvm:TransformUtils",
    ],
)

cc_library(
    name = "static_analyzer_frontend",
    srcs = glob([
        "lib/StaticAnalyzer/Frontend/**/*.cpp",
        "lib/StaticAnalyzer/Frontend/**/*.h",
    ]),
    hdrs = glob(["include/clang/StaticAnalyzer/Frontend/**/*.h"]),
    includes = ["include"],
    deps = [
        ":analysis",
        ":ast",
        ":basic",
        ":crosstu",
        ":driver",
        ":frontend",
        ":lex",
        ":rewrite",
        ":serialization",
        ":static_analyzer_checkers",
        ":static_analyzer_core",
        ":tooling",
        ":tooling_core",
        "//llvm:Support",
    ],
)

gentbl(
    name = "serialization_attr_gen",
    tbl_outs = [
        (
            "-gen-clang-attr-pch-read",
            "include/clang/Serialization/AttrPCHRead.inc",
        ),
        (
            "-gen-clang-attr-pch-write",
            "include/clang/Serialization/AttrPCHWrite.inc",
        ),
    ],
    tblgen = ":clang-tblgen",
    td_file = "include/clang/Basic/Attr.td",
    td_srcs = [
        "include/clang/Basic/ASTNode.td",
        "include/clang/Basic/Attr.td",
        "include/clang/Basic/AttrDocs.td",
        "include/clang/Basic/DeclNodes.td",
        "include/clang/Basic/StmtNodes.td",
    ],
)

cc_library(
    name = "serialization",
    srcs = [
        "include/clang/Serialization/AttrPCHRead.inc",
        "include/clang/Serialization/AttrPCHWrite.inc",
    ] + glob([
        "lib/Serialization/*.cpp",
        "lib/Serialization/*.h",
    ]),
    hdrs = glob([
        "include/clang/Serialization/*.h",
    ]),
    includes = ["include"],
    textual_hdrs = glob([
        "include/clang/Serialization/*.def",
    ]),
    deps = [
        ":ast",
        ":basic",
        ":lex",
        ":sema",
        ":serialization_attr_gen",
        ":type_nodes_gen",
        "//llvm:BitReader",
        "//llvm:BitWriter",
        "//llvm:BitstreamReader",
        "//llvm:BitstreamWriter",
        "//llvm:FrontendOpenMP",
        "//llvm:Support",
    ],
)

cc_library(
    name = "frontend_tool",
    srcs = glob([
        "lib/FrontendTool/*.cpp",
        "lib/FrontendTool/*.h",
    ]),
    hdrs = glob(["include/clang/FrontendTool/*.h"]),
    includes = ["include"],
    deps = [
        ":arc_migrate",
        ":codegen",
        ":config",
        ":driver",
        ":frontend",
        ":frontend_rewrite",
        ":static_analyzer_frontend",
        "//llvm:Option",
        "//llvm:Support",
    ],
)

cc_library(
    name = "arc_migrate",
    srcs = glob([
        "lib/ARCMigrate/*.cpp",
        "lib/ARCMigrate/*.h",
    ]),
    hdrs = glob(["include/clang/ARCMigrate/*.h"]),
    includes = ["include"],
    deps = [
        ":analysis",
        ":ast",
        ":basic",
        ":edit",
        ":frontend",
        ":frontend_rewrite",
        ":lex",
        ":parse",
        ":rewrite",
        ":sema",
        ":serialization",
        ":static_analyzer_checkers",
        ":static_analyzer_core",
        "//llvm:Support",
    ],
)

cc_library(
    name = "libclang_static",
    srcs = glob([
        "tools/libclang/*.cpp",
        "tools/libclang/*.h",
    ]),
    hdrs = glob(["include/clang-c/*.h"]),
    defines = ["CINDEX_NO_EXPORTS"],
    deps = [
        ":arc_migrate",
        ":ast",
        ":basic",
        ":codegen",
        ":config",
        ":driver",
        ":frontend",
        ":index",
        ":lex",
        ":rewrite",
        ":sema",
        ":tooling",
        "//llvm:BitstreamReader",
        "//llvm:FrontendOpenMP",
        "//llvm:Support",
        "//llvm:config",
    ],
)

cc_plugin_library(
    name = "libclang",
    srcs = glob([
        "tools/libclang/*.cpp",
        "tools/libclang/*.h",
    ]),
    hdrs = glob(["include/clang-c/*.h"]),
    copts = select({
        "@bazel_tools//src/conditions:windows": ["-D_CINDEX_LIB_"],
        "//conditions:default": [],
    }),
    strip_include_prefix = "include",
    deps = [
        ":arc_migrate",
        ":ast",
        ":basic",
        ":codegen",
        ":config",
        ":driver",
        ":frontend",
        ":index",
        ":lex",
        ":rewrite",
        ":sema",
        ":tooling",
        "//llvm:BitstreamReader",
        "//llvm:FrontendOpenMP",
        "//llvm:Support",
        "//llvm:config",
    ],
)

filegroup(
    name = "python-sources",
    srcs = [
        "bindings/python/clang/cindex.py",
        "bindings/python/clang/enumerations.py",
    ],
)

filegroup(
    name = "python-cindex-examples",
    srcs = [
        "bindings/python/examples/cindex/cindex-dump.py",
        "bindings/python/examples/cindex/cindex-includes.py",
    ],
)

cc_binary(
    name = "c-index-test",
    testonly = 1,
    srcs = [
        "tools/c-index-test/c-index-test.c",
        "tools/c-index-test/core_main.cpp",
    ],
    copts = [
        "-Wno-uninitialized",
    ],
    stamp = 0,
    deps = [
        ":ast",
        ":basic",
        ":codegen",
        ":config",
        ":frontend",
        ":index",
        ":lex",
        ":libclang",
        ":serialization",
        "//llvm:Core",
        "//llvm:MC",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "arcmt-test",
    testonly = 1,
    srcs = ["tools/arcmt-test/arcmt-test.cpp"],
    stamp = 0,
    deps = [
        ":arc_migrate",
        ":ast",
        ":basic",
        ":frontend",
        ":frontend_rewrite",
        ":lex",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "c-arcmt-test",
    testonly = 1,
    srcs = ["tools/c-arcmt-test/c-arcmt-test.c"],
    copts = select({
        "@bazel_tools//src/conditions:windows": [],
        "//conditions:default": ["-std=gnu99"],
    }),
    stamp = 0,
    deps = [
        ":codegen",
        ":libclang",
        "//llvm:MC",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-import-test",
    testonly = 1,
    srcs = glob([
        "tools/clang-import-test/*.cpp",
        "tools/clang-import-test/*.h",
    ]),
    stamp = 0,
    deps = [
        ":ast",
        ":basic",
        ":codegen",
        ":driver",
        ":frontend",
        ":lex",
        ":parse",
        "//llvm:Core",
        "//llvm:Support",
    ],
)

cc_library(
    name = "clang-driver",
    srcs = glob([
        "tools/driver/*.cpp",
        "tools/driver/*.h",
    ]),
    copts = [
        # Disable stack frame size checks in the driver because
        # clang::ensureStackAddressSpace allocates a large array on the stack.
        "$(STACK_FRAME_UNLIMITED)",
    ],
    deps = [
        ":analysis",
        ":ast",
        ":basic",
        ":codegen",
        ":config",
        ":driver",
        ":frontend",
        ":frontend_rewrite",
        ":frontend_tool",
        ":lex",
        ":parse",
        ":sema",
        ":serialization",
        ":static_analyzer_frontend",
        "//llvm:AllTargetsAsmParsers",
        "//llvm:AllTargetsCodeGens",
        "//llvm:BitReader",
        "//llvm:BitWriter",
        "//llvm:CodeGen",
        "//llvm:Core",
        "//llvm:IPO",
        "//llvm:MC",
        "//llvm:MCParser",
        "//llvm:Option",
        "//llvm:Support",
        "//llvm:Target",
        "//llvm:config",
    ],
)

cc_binary(
    name = "clang",
    srcs = [],
    stamp = 0,
    deps = [
        ":clang-driver",
    ],
)

cc_binary(
    name = "diagtool",
    srcs = glob([
        "tools/diagtool/*.cpp",
        "tools/diagtool/*.h",
    ]),
    stamp = 0,
    deps = [
        ":basic",
        ":frontend",
        ":lex",
        ":sema",
        "//llvm:Support",
    ],
)

filegroup(
    name = "exploded_graph_rewriter",
    testonly = 1,
    data = ["utils/analyzer/exploded-graph-rewriter.py"],
)

filegroup(
    name = "module-deps-to-rsp",
    testonly = 1,
    data = ["utils/module-deps-to-rsp.py"],
)

filegroup(
    name = "hmaptool",
    testonly = 1,
    data = ["utils/hmaptool/hmaptool"],
)

binary_alias(
    name = "clang++",
    binary = ":clang",
)

cc_binary(
    name = "clang-check",
    srcs = ["tools/clang-check/ClangCheck.cpp"],
    stamp = 0,
    deps = [
        ":ast",
        ":codegen",
        ":driver",
        ":frontend",
        ":frontend_rewrite",
        ":serialization",
        ":static_analyzer_frontend",
        ":tooling",
        ":tooling_syntax",
        "//llvm:Option",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-format",
    srcs = [
        "tools/clang-format/ClangFormat.cpp",
    ],
    stamp = 0,
    deps = [
        ":basic",
        ":format",
        ":frontend",
        ":rewrite",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-diff",
    srcs = glob(["tools/clang-diff/*.cpp"]),
    stamp = 0,
    deps = [
        ":ast-diff",
        ":tooling",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-offload-bundler",
    srcs = glob(["tools/clang-offload-bundler/*.cpp"]),
    stamp = 0,
    deps = [
        ":basic",
        ":tooling",
        "//llvm:BitWriter",
        "//llvm:Core",
        "//llvm:Object",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-offload-wrapper",
    srcs = glob(["tools/clang-offload-wrapper/*.cpp"]),
    stamp = 0,
    deps = [
        ":basic",
        "//llvm:BitWriter",
        "//llvm:Support",
        "//llvm:TransformUtils",
        "//llvm:ir_headers",
    ],
)

cc_binary(
    name = "clang-refactor",
    srcs = glob([
        "tools/clang-refactor/*.cpp",
        "tools/clang-refactor/*.h",
    ]),
    stamp = 0,
    deps = [
        ":ast",
        ":basic",
        ":format",
        ":frontend",
        ":lex",
        ":rewrite",
        ":tooling",
        ":tooling_refactoring",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-rename",
    srcs = glob(["tools/clang-rename/*.cpp"]),
    stamp = 0,
    deps = [
        ":basic",
        ":frontend",
        ":rewrite",
        ":tooling",
        ":tooling_refactoring",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-repl",
    srcs = glob(["tools/clang-repl/*.cpp"]),
    stamp = 0,
    deps = [
        ":basic",
        ":frontend",
        ":interpreter",
        ":tooling",
        "//llvm:Core",
        "//llvm:LineEditor",
        "//llvm:Option",
        "//llvm:OrcJIT",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-extdef-mapping",
    srcs = glob(["tools/clang-extdef-mapping/*.cpp"]),
    stamp = 0,
    deps = [
        ":ast",
        ":basic",
        ":crosstu",
        ":frontend",
        ":tooling",
        "//llvm:Support",
    ],
)

cc_binary(
    name = "clang-scan-deps",
    srcs = glob(["tools/clang-scan-deps/*.cpp"]),
    stamp = 0,
    deps = [
        ":frontend",
        ":tooling",
        ":tooling_dependency_scanning",
        "//llvm:Support",
    ],
)
