
This patch introduces configuration for a Bazel BUILD in a side directory in the monorepo. This is following the approval of https://github.com/llvm/llvm-www/blob/main/proposals/LP0002-BazelBuildConfiguration.md As detailed in the README, the Bazel BUILD is not supported by the community in general, and is maintained only by interested parties. It follows the requirements of the LLVM peripheral tier: https://llvm.org/docs/SupportPolicy.html#peripheral-tier. This is largely copied from https://github.com/google/llvm-bazel, with a few filepath tweaks and the addition of the README. Reviewed By: echristo, keith, dblaikie, kuhar Differential Revision: https://reviews.llvm.org/D90352
488 lines
10 KiB
Python
488 lines
10 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
|
|
|
|
package(
|
|
default_visibility = ["//visibility:public"],
|
|
licenses = ["notice"],
|
|
)
|
|
|
|
cc_test(
|
|
name = "ast_tests",
|
|
size = "medium",
|
|
srcs = glob(
|
|
[
|
|
"AST/*.cpp",
|
|
"AST/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
shard_count = 20,
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:ast_matchers",
|
|
"//clang:basic",
|
|
"//clang:frontend",
|
|
"//clang:lex",
|
|
"//clang:testing",
|
|
"//clang:tooling",
|
|
"//llvm:Core",
|
|
"//llvm:Support",
|
|
"//llvm:TestingSupport",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "ast_matchers_tests_hdrs",
|
|
testonly = 1,
|
|
hdrs = glob(
|
|
["ASTMatchers/*.h"],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
"//clang:ast_matchers",
|
|
"//clang:frontend",
|
|
"//clang:testing",
|
|
"//clang:tooling",
|
|
"//llvm:gtest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "ast_matchers_tests",
|
|
size = "medium",
|
|
srcs = glob(
|
|
["ASTMatchers/*.cpp"],
|
|
allow_empty = False,
|
|
),
|
|
shard_count = 20,
|
|
deps = [
|
|
":ast_matchers_tests_hdrs",
|
|
"//clang:ast",
|
|
"//clang:ast_matchers",
|
|
"//clang:frontend",
|
|
"//clang:tooling",
|
|
"//llvm:Support",
|
|
"//llvm:TestingSupport",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "ast_matchers_dynamic_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["ASTMatchers/Dynamic/*.cpp"],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
":ast_matchers_tests_hdrs",
|
|
"//clang:ast_matchers",
|
|
"//clang:ast_matchers_dynamic",
|
|
"//clang:frontend",
|
|
"//clang:tooling",
|
|
"//llvm:Support",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "analysis_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
[
|
|
"Analysis/*.cpp",
|
|
"Analysis/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
"//clang:analysis",
|
|
"//clang:ast",
|
|
"//clang:ast_matchers",
|
|
"//clang:basic",
|
|
"//clang:lex",
|
|
"//clang:parse",
|
|
"//clang:tooling",
|
|
"//llvm:Support",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "basic_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["Basic/*.cpp"],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
"//clang:basic",
|
|
"//clang:frontend",
|
|
"//clang:lex",
|
|
"//llvm:Support",
|
|
"//llvm:config",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "codegen_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
[
|
|
"CodeGen/*.cpp",
|
|
"CodeGen/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:basic",
|
|
"//clang:codegen",
|
|
"//clang:frontend",
|
|
"//clang:lex",
|
|
"//clang:parse",
|
|
"//clang:sema",
|
|
"//llvm:Core",
|
|
"//llvm:Support",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "format_tests",
|
|
size = "medium",
|
|
srcs = glob(
|
|
[
|
|
"Format/*.cpp",
|
|
"Format/*.h",
|
|
"Tooling/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
copts = ["$(STACK_FRAME_UNLIMITED)"],
|
|
shard_count = 20,
|
|
deps = [
|
|
"//clang:basic",
|
|
"//clang:format",
|
|
"//clang:frontend",
|
|
"//clang:tooling_core",
|
|
"//llvm:Support",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "frontend_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["Frontend/*.cpp"],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:basic",
|
|
"//clang:codegen",
|
|
"//clang:driver_options_inc_gen",
|
|
"//clang:frontend",
|
|
"//clang:frontend_tool",
|
|
"//clang:lex",
|
|
"//clang:sema",
|
|
"//clang:serialization",
|
|
"//llvm:Support",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "lex_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
[
|
|
"Lex/*.cpp",
|
|
"Lex/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
copts = ["$(STACK_FRAME_UNLIMITED)"],
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:basic",
|
|
"//clang:lex",
|
|
"//clang:parse",
|
|
"//clang:sema",
|
|
"//clang:serialization",
|
|
"//llvm:Support",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
# A library to carefully expose the tooling headers using the include prefix
|
|
# expected by the `rename_tests`.
|
|
cc_library(
|
|
name = "rename_tests_tooling_hdrs",
|
|
testonly = 1,
|
|
hdrs = glob(
|
|
["Tooling/*.h"],
|
|
allow_empty = False,
|
|
),
|
|
include_prefix = "unittests",
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:basic",
|
|
"//clang:frontend",
|
|
"//clang:rewrite",
|
|
"//clang:tooling",
|
|
"//clang:tooling_core",
|
|
"//llvm:Support",
|
|
"//llvm:gtest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "rename_tests",
|
|
size = "small",
|
|
timeout = "moderate",
|
|
srcs = glob(
|
|
[
|
|
"Rename/*.cpp",
|
|
"Rename/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
shard_count = 20,
|
|
deps = [
|
|
":rename_tests_tooling_hdrs",
|
|
"//clang:ast_matchers",
|
|
"//clang:basic",
|
|
"//clang:format",
|
|
"//clang:frontend",
|
|
"//clang:tooling",
|
|
"//clang:tooling_refactoring",
|
|
"//llvm:Support",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "rewrite_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["Rewrite/*.cpp"],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
"//clang:rewrite",
|
|
"//clang:tooling",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "sema_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["Sema/*.cpp"],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
":ast_matchers_tests_hdrs",
|
|
"//clang:ast",
|
|
"//clang:ast_matchers",
|
|
"//clang:frontend",
|
|
"//clang:lex",
|
|
"//clang:parse",
|
|
"//clang:sema",
|
|
"//clang:tooling",
|
|
"//llvm:TestingSupport",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "static_analyzer_test_headers",
|
|
testonly = 1,
|
|
hdrs = glob(
|
|
["StaticAnalyzer/*.h"],
|
|
allow_empty = False,
|
|
),
|
|
deps = [
|
|
"//clang:ast_matchers",
|
|
"//clang:crosstu",
|
|
"//clang:frontend",
|
|
"//clang:static_analyzer_core",
|
|
"//clang:static_analyzer_frontend",
|
|
"//clang:tooling",
|
|
"//llvm:gtest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "static_analyzer_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["StaticAnalyzer/*.cpp"],
|
|
allow_empty = False,
|
|
exclude = [
|
|
# New test has unused-variable warnings.
|
|
"StaticAnalyzer/ParamRegionTest.cpp",
|
|
],
|
|
),
|
|
deps = [
|
|
":static_analyzer_test_headers",
|
|
"//clang:basic",
|
|
"//clang:frontend",
|
|
"//clang:static_analyzer_core",
|
|
"//clang:static_analyzer_frontend",
|
|
"//clang:tooling",
|
|
"//llvm:Support",
|
|
"//llvm:config",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "tooling_tests",
|
|
size = "medium",
|
|
srcs = glob(
|
|
[
|
|
"Tooling/*.cpp",
|
|
"Tooling/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
shard_count = 20,
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:ast_matchers",
|
|
"//clang:basic",
|
|
"//clang:format",
|
|
"//clang:frontend",
|
|
"//clang:lex",
|
|
"//clang:rewrite",
|
|
"//clang:tooling",
|
|
"//clang:tooling_core",
|
|
"//clang:tooling_inclusions",
|
|
"//clang:tooling_refactoring",
|
|
"//clang:transformer",
|
|
"//llvm:Support",
|
|
"//llvm:TestingSupport",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
# A library to carefully expose the tooling headers using the include prefix
|
|
# expected by the `tooling_recursive_ast_visitor_tests`.
|
|
cc_library(
|
|
name = "tooling_recursive_ast_visitor_tests_tooling_hdrs",
|
|
testonly = 1,
|
|
hdrs = glob(
|
|
["Tooling/*.h"],
|
|
allow_empty = False,
|
|
),
|
|
strip_include_prefix = "Tooling",
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:basic",
|
|
"//clang:frontend",
|
|
"//clang:rewrite",
|
|
"//clang:tooling",
|
|
"//clang:tooling_core",
|
|
"//llvm:Support",
|
|
"//llvm:gtest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "tooling_recursive_ast_visitor_tests",
|
|
size = "medium",
|
|
srcs = glob(
|
|
["Tooling/RecursiveASTVisitorTests/*.cpp"],
|
|
allow_empty = False,
|
|
) + [
|
|
"Tooling/RecursiveASTVisitorTests/CallbacksCommon.h",
|
|
],
|
|
deps = [
|
|
":tooling_recursive_ast_visitor_tests_tooling_hdrs",
|
|
"//clang:ast",
|
|
"//clang:basic",
|
|
"//clang:frontend",
|
|
"//clang:lex",
|
|
"//clang:tooling",
|
|
"//clang:tooling_syntax",
|
|
"//llvm:Support",
|
|
"//llvm:TestingSupport",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "tooling_syntax_tests",
|
|
size = "medium",
|
|
srcs = glob(
|
|
[
|
|
"Tooling/Syntax/*.cpp",
|
|
"Tooling/Syntax/*.h",
|
|
],
|
|
allow_empty = False,
|
|
),
|
|
shard_count = 20,
|
|
deps = [
|
|
"//clang:ast",
|
|
"//clang:basic",
|
|
"//clang:frontend",
|
|
"//clang:lex",
|
|
"//clang:testing",
|
|
"//clang:tooling",
|
|
"//clang:tooling_core",
|
|
"//clang:tooling_syntax",
|
|
"//llvm:Support",
|
|
"//llvm:TestingSupport",
|
|
"//llvm:gmock",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "libclang_tests",
|
|
size = "small",
|
|
srcs = glob(
|
|
["libclang/*.cpp"],
|
|
allow_empty = False,
|
|
) + [
|
|
"libclang/TestUtils.h",
|
|
],
|
|
deps = [
|
|
"//clang:c-bindings",
|
|
"//llvm:Support",
|
|
"//llvm:gtest",
|
|
"//llvm:gtest_main",
|
|
],
|
|
)
|