Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
3.0 KiB
112 lines
3.0 KiB
# Copyright (c) 2009-2021, Google LLC |
|
# All rights reserved. |
|
# |
|
# Use of this source code is governed by a BSD-style |
|
# license that can be found in the LICENSE file or at |
|
# https://developers.google.com/open-source/licenses/bsd |
|
|
|
load("//upb/bazel:build_defs.bzl", "UPB_DEFAULT_CPPOPTS") |
|
load( |
|
"//upb_generator:bootstrap_compiler.bzl", |
|
"bootstrap_cc_library", |
|
"bootstrap_upb_proto_library", |
|
) |
|
|
|
package(default_applicable_licenses = ["//:license"]) |
|
|
|
licenses(["notice"]) |
|
|
|
bootstrap_upb_proto_library( |
|
name = "plugin_upb_proto", |
|
bootstrap_hdr = "plugin_bootstrap.h", |
|
google3_src_files = [ |
|
"net/proto2/compiler/proto/profile.proto", |
|
"third_party/protobuf/compiler/plugin.proto", |
|
], |
|
google3_src_rules = [ |
|
"//net/proto2/proto:descriptor_proto_source", |
|
"//net/proto2/compiler/proto:profile.proto", |
|
"//src/google/protobuf/compiler:plugin_proto_source", |
|
], |
|
oss_src_files = ["google/protobuf/compiler/plugin.proto"], |
|
oss_src_rules = [ |
|
"//:descriptor_proto_srcs", |
|
"//src/google/protobuf/compiler:plugin_proto_src", |
|
], |
|
oss_strip_prefix = "third_party/protobuf/github/bootstrap/src", |
|
proto_lib_deps = ["//:compiler_plugin_proto"], |
|
deps = ["//upb/reflection:descriptor_upb_proto"], |
|
) |
|
|
|
bootstrap_cc_library( |
|
name = "common", |
|
srcs = [ |
|
"common.cc", |
|
], |
|
hdrs = [ |
|
"common.h", |
|
], |
|
bootstrap_deps = [ |
|
"//upb/reflection:reflection", |
|
], |
|
copts = UPB_DEFAULT_CPPOPTS, |
|
visibility = ["//upb:friend_generators"], |
|
deps = [ |
|
"//src/google/protobuf:port", |
|
"//upb:mini_table", |
|
"//upb:port", |
|
"@com_google_absl//absl/strings", |
|
], |
|
) |
|
|
|
bootstrap_cc_library( |
|
name = "file_layout", |
|
srcs = [ |
|
"file_layout.cc", |
|
], |
|
hdrs = [ |
|
"file_layout.h", |
|
], |
|
bootstrap_deps = [ |
|
":common", |
|
"//upb/reflection:reflection", |
|
"//upb/reflection:descriptor_upb_proto", |
|
], |
|
copts = UPB_DEFAULT_CPPOPTS, |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
"//upb:base", |
|
"//upb:mini_descriptor", |
|
"//upb:mini_table", |
|
"//upb:port", |
|
"@com_google_absl//absl/container:flat_hash_map", |
|
"@com_google_absl//absl/strings", |
|
], |
|
) |
|
|
|
bootstrap_cc_library( |
|
name = "plugin", |
|
hdrs = [ |
|
"plugin.h", |
|
], |
|
bootstrap_deps = [ |
|
":plugin_upb_proto", |
|
"//upb/reflection:descriptor_upb_proto", |
|
"//upb/reflection:reflection", |
|
], |
|
copts = UPB_DEFAULT_CPPOPTS, |
|
visibility = ["//upb:friend_generators"], |
|
deps = [ |
|
"//src/google/protobuf/compiler:code_generator_lite", |
|
"//upb:base", |
|
"//upb:mem", |
|
"//upb:port", |
|
"@com_google_absl//absl/container:flat_hash_map", |
|
"@com_google_absl//absl/container:flat_hash_set", |
|
"@com_google_absl//absl/log:absl_check", |
|
"@com_google_absl//absl/log:absl_log", |
|
"@com_google_absl//absl/strings", |
|
], |
|
) |
|
|
|
cc_library(name = "mangle")
|
|
|