mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 06:16:05 +00:00

This required substantially more invasive changes. We need to handle some of the LLVM `config.h` changes differently from the old pattern. These aren't always safe on the commandline, and the Windows ones specifically break Clang. Instead, use conditional defines in the header itself. This more closely matches how CMake builds see the definitions. I think this is also just cleaner and we should maybe move more of the macros out of Bazel. The config defines for Windows that I've kept in Bazel are the ones that LLVM's CMake does at the commandline as well. I've also added numerous ones that CMake uses and we didn't replicate in Bazel. I also needed a different approach to get `libclang` working well. This, IMO, improves things on all platforms. Now we build the plugin and actually wrap it back up with `cc_import`. We have to use a collection of manually tagged `cc_binary` rules to get the naming to work out the right way, but this isn't too different from the prior approach. By directly having a `cc_binary` rule for each platform spelling of `libclang`, we can actually extract the interface library from it and correctly depend on it with `cc_import`. I think the result now is much closer to the intent and to the CMake build for libclang. Sadly, some tests also needed disabling. This is actually narrower than what CMake does. The issue isn't indicative of anything serious -- the test just assumes Unix-style paths. I also have cleaned up the Windows flags in `.bazelrc` to much more closely match what CMake does. Differential Revision: https://reviews.llvm.org/D112399
2142 lines
51 KiB
Python
2142 lines
51 KiB
Python
# 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",
|
|
],
|
|
)
|