[llvm] [bazel] Move clang-fuzzer to separate package (PR #170167)
Jordan Rupprecht via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 1 08:37:36 PST 2025
https://github.com/rupprecht created https://github.com/llvm/llvm-project/pull/170167
This avoids needing to pull in protobuf deps for clang-fuzzer when that is not needed.
Recently requested: #168928
Previously requested: #123126 / #123833
>From 7bc32c04965fe621931556aed86da41593c11c7d Mon Sep 17 00:00:00 2001
From: Jordan Rupprecht <rupprecht at google.com>
Date: Mon, 1 Dec 2025 08:30:46 -0800
Subject: [PATCH] Move clang-fuzzer to separate package
---
.../llvm-project-overlay/clang/BUILD.bazel | 63 -----------------
.../clang/tools/clang-fuzzer/BUILD.bazel | 70 +++++++++++++++++++
2 files changed, 70 insertions(+), 63 deletions(-)
create mode 100644 utils/bazel/llvm-project-overlay/clang/tools/clang-fuzzer/BUILD.bazel
diff --git a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
index 020b2aa68a357..0f256e6272055 100644
--- a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel
@@ -2,8 +2,6 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
-load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
load("@rules_python//python:defs.bzl", "py_binary")
load(
@@ -2493,64 +2491,3 @@ cc_library(
"//llvm:TargetParser",
],
)
-
-cc_binary(
- name = "clang-fuzzer-dictionary",
- srcs = ["tools/clang-fuzzer/dictionary/dictionary.c"],
- deps = [":basic"],
-)
-
-genrule(
- name = "fuzzer-dictionary",
- outs = ["fuzzer-dictionary.txt"],
- cmd = "$(location :clang-fuzzer-dictionary) > $@",
- tools = [":clang-fuzzer-dictionary"],
-)
-
-cc_library(
- name = "handle-cxx",
- srcs = ["tools/clang-fuzzer/handle-cxx/handle_cxx.cpp"],
- hdrs = ["tools/clang-fuzzer/handle-cxx/handle_cxx.h"],
- deps = [
- ":codegen",
- ":frontend",
- ":lex",
- ":tooling",
- "//llvm:Option",
- "//llvm:Support",
- ],
-)
-
-proto_library(
- name = "cxx-proto",
- srcs = ["tools/clang-fuzzer/cxx_proto.proto"],
-)
-
-cc_proto_library(
- name = "cxx_cc_proto",
- deps = [":cxx-proto"],
-)
-
-cc_library(
- name = "proto-to-cxx-lib",
- srcs = ["tools/clang-fuzzer/proto-to-cxx/proto_to_cxx.cpp"],
- hdrs = ["tools/clang-fuzzer/proto-to-cxx/proto_to_cxx.h"],
- includes = ["tools/clang-fuzzer"],
- deps = [":cxx_cc_proto"],
-)
-
-cc_binary(
- name = "clang-proto-to-cxx",
- srcs = ["tools/clang-fuzzer/proto-to-cxx/proto_to_cxx_main.cpp"],
- deps = [":proto-to-cxx-lib"],
-)
-
-cc_library(
- name = "clang-fuzzer-initialize",
- srcs = ["tools/clang-fuzzer/fuzzer-initialize/fuzzer_initialize.cpp"],
- hdrs = ["tools/clang-fuzzer/fuzzer-initialize/fuzzer_initialize.h"],
- deps = [
- "//llvm:Core",
- "//llvm:Support",
- ],
-)
diff --git a/utils/bazel/llvm-project-overlay/clang/tools/clang-fuzzer/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang/tools/clang-fuzzer/BUILD.bazel
new file mode 100644
index 0000000000000..bee4f0e143f89
--- /dev/null
+++ b/utils/bazel/llvm-project-overlay/clang/tools/clang-fuzzer/BUILD.bazel
@@ -0,0 +1,70 @@
+# 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("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
+load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
+
+package(default_visibility = ["//visibility:public"])
+
+cc_binary(
+ name = "clang-fuzzer-dictionary",
+ srcs = ["dictionary/dictionary.c"],
+ deps = ["//clang:basic"],
+)
+
+genrule(
+ name = "fuzzer-dictionary",
+ outs = ["fuzzer-dictionary.txt"],
+ cmd = "$(location :clang-fuzzer-dictionary) > $@",
+ tools = [":clang-fuzzer-dictionary"],
+)
+
+cc_library(
+ name = "handle-cxx",
+ srcs = ["handle-cxx/handle_cxx.cpp"],
+ hdrs = ["handle-cxx/handle_cxx.h"],
+ deps = [
+ "//clang:codegen",
+ "//clang:frontend",
+ "//clang:lex",
+ "//clang:tooling",
+ "//llvm:Option",
+ "//llvm:Support",
+ ],
+)
+
+proto_library(
+ name = "cxx-proto",
+ srcs = ["cxx_proto.proto"],
+)
+
+cc_proto_library(
+ name = "cxx_cc_proto",
+ deps = [":cxx-proto"],
+)
+
+cc_library(
+ name = "proto-to-cxx-lib",
+ srcs = ["proto-to-cxx/proto_to_cxx.cpp"],
+ hdrs = ["proto-to-cxx/proto_to_cxx.h"],
+ includes = ["."],
+ deps = [":cxx_cc_proto"],
+)
+
+cc_binary(
+ name = "clang-proto-to-cxx",
+ srcs = ["proto-to-cxx/proto_to_cxx_main.cpp"],
+ deps = [":proto-to-cxx-lib"],
+)
+
+cc_library(
+ name = "clang-fuzzer-initialize",
+ srcs = ["fuzzer-initialize/fuzzer_initialize.cpp"],
+ hdrs = ["fuzzer-initialize/fuzzer_initialize.h"],
+ deps = [
+ "//llvm:Core",
+ "//llvm:Support",
+ ],
+)
More information about the llvm-commits
mailing list