71 lines · plain
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-exception4 5load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")6load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")7load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")8 9package(default_visibility = ["//visibility:public"])10 11cc_binary(12 name = "clang-fuzzer-dictionary",13 srcs = ["dictionary/dictionary.c"],14 deps = ["//clang:basic"],15)16 17genrule(18 name = "fuzzer-dictionary",19 outs = ["fuzzer-dictionary.txt"],20 cmd = "$(location :clang-fuzzer-dictionary) > $@",21 tools = [":clang-fuzzer-dictionary"],22)23 24cc_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 38proto_library(39 name = "cxx-proto",40 srcs = ["cxx_proto.proto"],41)42 43cc_proto_library(44 name = "cxx_cc_proto",45 deps = [":cxx-proto"],46)47 48cc_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 56cc_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 62cc_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)71