Skip to content

Commit eb1533d

Browse files
authored
[bazel] Move clang-fuzzer to separate package (#170167)
This avoids needing to pull in protobuf deps for clang-fuzzer when that is not needed. Recently requested: #168928 Previously requested: #123126 / #123833
1 parent 41aade4 commit eb1533d

File tree

2 files changed

+70
-63
lines changed

2 files changed

+70
-63
lines changed

utils/bazel/llvm-project-overlay/clang/BUILD.bazel

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
# See https://llvm.org/LICENSE.txt for license information.
33
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44

5-
load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
6-
load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
75
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
86
load("@rules_python//python:defs.bzl", "py_binary")
97
load(
@@ -2493,64 +2491,3 @@ cc_library(
24932491
"//llvm:TargetParser",
24942492
],
24952493
)
2496-
2497-
cc_binary(
2498-
name = "clang-fuzzer-dictionary",
2499-
srcs = ["tools/clang-fuzzer/dictionary/dictionary.c"],
2500-
deps = [":basic"],
2501-
)
2502-
2503-
genrule(
2504-
name = "fuzzer-dictionary",
2505-
outs = ["fuzzer-dictionary.txt"],
2506-
cmd = "$(location :clang-fuzzer-dictionary) > $@",
2507-
tools = [":clang-fuzzer-dictionary"],
2508-
)
2509-
2510-
cc_library(
2511-
name = "handle-cxx",
2512-
srcs = ["tools/clang-fuzzer/handle-cxx/handle_cxx.cpp"],
2513-
hdrs = ["tools/clang-fuzzer/handle-cxx/handle_cxx.h"],
2514-
deps = [
2515-
":codegen",
2516-
":frontend",
2517-
":lex",
2518-
":tooling",
2519-
"//llvm:Option",
2520-
"//llvm:Support",
2521-
],
2522-
)
2523-
2524-
proto_library(
2525-
name = "cxx-proto",
2526-
srcs = ["tools/clang-fuzzer/cxx_proto.proto"],
2527-
)
2528-
2529-
cc_proto_library(
2530-
name = "cxx_cc_proto",
2531-
deps = [":cxx-proto"],
2532-
)
2533-
2534-
cc_library(
2535-
name = "proto-to-cxx-lib",
2536-
srcs = ["tools/clang-fuzzer/proto-to-cxx/proto_to_cxx.cpp"],
2537-
hdrs = ["tools/clang-fuzzer/proto-to-cxx/proto_to_cxx.h"],
2538-
includes = ["tools/clang-fuzzer"],
2539-
deps = [":cxx_cc_proto"],
2540-
)
2541-
2542-
cc_binary(
2543-
name = "clang-proto-to-cxx",
2544-
srcs = ["tools/clang-fuzzer/proto-to-cxx/proto_to_cxx_main.cpp"],
2545-
deps = [":proto-to-cxx-lib"],
2546-
)
2547-
2548-
cc_library(
2549-
name = "clang-fuzzer-initialize",
2550-
srcs = ["tools/clang-fuzzer/fuzzer-initialize/fuzzer_initialize.cpp"],
2551-
hdrs = ["tools/clang-fuzzer/fuzzer-initialize/fuzzer_initialize.h"],
2552-
deps = [
2553-
"//llvm:Core",
2554-
"//llvm:Support",
2555-
],
2556-
)
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
2+
# See https://llvm.org/LICENSE.txt for license information.
3+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4+
5+
load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
6+
load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
7+
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
8+
9+
package(default_visibility = ["//visibility:public"])
10+
11+
cc_binary(
12+
name = "clang-fuzzer-dictionary",
13+
srcs = ["dictionary/dictionary.c"],
14+
deps = ["//clang:basic"],
15+
)
16+
17+
genrule(
18+
name = "fuzzer-dictionary",
19+
outs = ["fuzzer-dictionary.txt"],
20+
cmd = "$(location :clang-fuzzer-dictionary) > $@",
21+
tools = [":clang-fuzzer-dictionary"],
22+
)
23+
24+
cc_library(
25+
name = "handle-cxx",
26+
srcs = ["handle-cxx/handle_cxx.cpp"],
27+
hdrs = ["handle-cxx/handle_cxx.h"],
28+
deps = [
29+
"//clang:codegen",
30+
"//clang:frontend",
31+
"//clang:lex",
32+
"//clang:tooling",
33+
"//llvm:Option",
34+
"//llvm:Support",
35+
],
36+
)
37+
38+
proto_library(
39+
name = "cxx-proto",
40+
srcs = ["cxx_proto.proto"],
41+
)
42+
43+
cc_proto_library(
44+
name = "cxx_cc_proto",
45+
deps = [":cxx-proto"],
46+
)
47+
48+
cc_library(
49+
name = "proto-to-cxx-lib",
50+
srcs = ["proto-to-cxx/proto_to_cxx.cpp"],
51+
hdrs = ["proto-to-cxx/proto_to_cxx.h"],
52+
includes = ["."],
53+
deps = [":cxx_cc_proto"],
54+
)
55+
56+
cc_binary(
57+
name = "clang-proto-to-cxx",
58+
srcs = ["proto-to-cxx/proto_to_cxx_main.cpp"],
59+
deps = [":proto-to-cxx-lib"],
60+
)
61+
62+
cc_library(
63+
name = "clang-fuzzer-initialize",
64+
srcs = ["fuzzer-initialize/fuzzer_initialize.cpp"],
65+
hdrs = ["fuzzer-initialize/fuzzer_initialize.h"],
66+
deps = [
67+
"//llvm:Core",
68+
"//llvm:Support",
69+
],
70+
)

0 commit comments

Comments
 (0)