|  | 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", | 
|  | ) |