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