load("@build_bazel_rules_apple//apple:apple_binary.bzl", "apple_binary")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("//upb/cmake:build_defs.bzl", "staleness_test")

package(default_visibility = ["//ruby:__subpackages__"])

PROTOBUF_C_SOURCES = [
    "convert.c",
    "convert.h",
    "defs.c",
    "defs.h",
    "map.c",
    "map.h",
    "message.c",
    "message.h",
    "protobuf.c",
    "protobuf.h",
    "repeated_field.c",
    "repeated_field.h",
    "shared_convert.c",
    "shared_convert.h",
    "shared_message.c",
    "shared_message.h",
    "wrap_memcpy.c",
]

# We copy everything into a copy/ subdirectory so that we can use the
# up-to-date Bazel-generated amalgamation files without conflicting with the
# possibly stale checked-in amalgamations.
genrule(
    name = "copy_sources",
    srcs = PROTOBUF_C_SOURCES + [
        "glue.c",
        "//upb:gen_ruby_amalgamation",
    ],
    outs = ["copy/%s" % src for src in PROTOBUF_C_SOURCES] + [
        "copy/glue.c",
        "copy/ruby-upb.h",
        "copy/ruby-upb.c",
    ],
    cmd = "cp $(SRCS) $(RULEDIR)/copy",
)

cc_library(
    name = "protobuf_c",
    srcs = ["copy/%s" % src for src in PROTOBUF_C_SOURCES] + [
        "copy/ruby-upb.c",
        "copy/ruby-upb.h",
    ],
    linkstatic = True,
    target_compatible_with = select({
        "@rules_ruby//ruby/runtime:config_jruby": ["@platforms//:incompatible"],
        "//conditions:default": [],
    }),
    deps = [
        "//third_party/utf8_range",
        "@rules_ruby//ruby/runtime:headers",
    ],
    alwayslink = True,
)

# Needs to be compiled with UPB_BUILD_API in order to expose functions called
# via FFI directly by Ruby.
cc_library(
    name = "upb_api",
    srcs = [
        "copy/ruby-upb.c",
    ],
    hdrs = [
        "copy/ruby-upb.h",
    ],
    copts = ["-fvisibility=hidden"],
    linkstatic = False,
    local_defines = [
        "UPB_BUILD_API",
    ],
    target_compatible_with = select({
        "//ruby:ffi_disabled": ["@platforms//:incompatible"],
        "//conditions:default": [],
    }),
    deps = [
        "//third_party/utf8_range",
    ],
)

cc_library(
    name = "protobuf_c_ffi",
    srcs = ["copy/%s" % src for src in [
        "glue.c",
        "shared_convert.c",
        "shared_convert.h",
        "shared_message.c",
        "shared_message.h",
    ]],
    copts = [
        "-std=gnu99",
        "-O3",
        "-Wall",
        "-Wsign-compare",
        "-Wno-declaration-after-statement",
    ],
    linkstatic = True,
    local_defines = [
        "NDEBUG",
    ],
    target_compatible_with = select({
        "//ruby:ffi_disabled": ["@platforms//:incompatible"],
        "//conditions:default": [],
    }),
    deps = [":upb_api"],
    alwayslink = 1,
)

apple_binary(
    name = "ffi_bundle",
    binary_type = "loadable_bundle",
    linkopts = [
        "-undefined,dynamic_lookup",
        "-multiply_defined,suppress",
    ],
    minimum_os_version = "11.0",
    platform_type = "macos",
    tags = ["manual"],
    deps = [
        ":protobuf_c_ffi",
    ],
)

apple_binary(
    name = "bundle",
    binary_type = "loadable_bundle",
    linkopts = [
        "-undefined,dynamic_lookup",
        "-multiply_defined,suppress",
    ],
    minimum_os_version = "11.0",
    platform_type = "macos",
    tags = ["manual"],
    deps = [
        ":protobuf_c",
    ],
)

pkg_files(
    name = "dist_files",
    srcs = glob([
        "*.h",
        "*.c",
        "*.rb",
        "Rakefile",
    ]),
    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.c",
        "ruby-upb.h",
    ],
    generated_pattern = "generated-in/%s",
    tags = ["manual"],
)
