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.

73 lines
1.6 KiB

load("@build_bazel_rules_apple//apple:apple_binary.bzl", "apple_binary")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@upb//cmake:build_defs.bzl", "staleness_test")
package(default_visibility = ["//ruby:__subpackages__"])
cc_library(
name = "protobuf_c",
srcs = glob([
"*.h",
"*.c",
]),
deps = [
"@rules_ruby//ruby/runtime:headers",
"@utf8_range//:utf8_range",
],
target_compatible_with = select({
"@rules_ruby//ruby/runtime:config_jruby": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
linkstatic = True,
alwayslink = True,
)
apple_binary(
name = "bundle",
binary_type = "loadable_bundle",
linkopts = [
"-undefined,dynamic_lookup",
"-multiply_defined,suppress",
],
platform_type = "macos",
minimum_os_version = "10.11",
tags = ["manual"],
deps = [
":protobuf_c",
],
)
pkg_files(
name = "dist_files",
srcs = glob([
"*.h",
"*.c",
"*.rb",
]),
strip_prefix = strip_prefix.from_root(""),
visibility = ["//ruby:__pkg__"],
)
genrule(
name = "copy_ruby_amalgamation_h",
srcs = ["@upb//:ruby-upb.h"],
outs = ["generated-in/ruby-upb.h"],
cmd = "cp $< $@",
)
genrule(
name = "copy_ruby_amalgamation_c",
srcs = ["@upb//:ruby-upb.c"],
outs = ["generated-in/ruby-upb.c"],
cmd = "cp $< $@",
)
staleness_test(
name = "test_amalgamation_staleness",
outs = [
"ruby-upb.h",
"ruby-upb.c",
],
generated_pattern = "generated-in/%s",
)