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

# 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({
        "@ruby//engine:jruby": ["@platforms//:incompatible"],
        "//conditions:default": [],
    }),
    deps = [
        "//third_party/utf8_range",
        "@ruby//: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"],
)
