load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
load("@rules_cc//cc:cc_library.bzl", "cc_library")

genrule(
    name = "copy_link_jni_md_header",
    srcs = select({
        "//src/conditions:darwin": ["@rules_java//toolchains:jni_md_header-darwin"],
        "//src/conditions:freebsd": ["@rules_java//toolchains:jni_md_header-freebsd"],
        "//src/conditions:openbsd": ["@rules_java//toolchains:jni_md_header-openbsd"],
        "//src/conditions:windows": ["@rules_java//toolchains:jni_md_header-windows"],
        "//conditions:default": ["@rules_java//toolchains:jni_md_header-linux"],
    }),
    outs = ["jni_md.h"],
    cmd = "cp -f $< $@",
    visibility = ["//src/main/native:__subpackages__"],
)

genrule(
    name = "copy_link_jni_header",
    srcs = ["@rules_java//toolchains:jni_header"],
    outs = ["jni.h"],
    cmd = "cp -f $< $@",
    visibility = ["//src/main/native:__subpackages__"],
)

filegroup(
    name = "jni_os",
    srcs = select({
        "//src/conditions:darwin": [
            "darwin/file_jni.cc",
            "darwin/fsevents.cc",
            "darwin/sleep_prevention_jni.cc",
            "darwin/system_cpu_speed_monitor_jni.cc",
            "darwin/system_disk_space_monitor_jni.cc",
            "darwin/system_load_advisory_monitor_jni.cc",
            "darwin/system_memory_pressure_jni.cc",
            "darwin/system_network_stats.cc",
            "darwin/system_suspension_monitor_jni.cc",
            "darwin/system_thermal_monitor_jni.cc",
            "darwin/util.cc",
            "darwin/util.h",
        ],
        "//src/conditions:freebsd": ["unix_jni_bsd.cc"],
        "//src/conditions:openbsd": ["unix_jni_bsd.cc"],
        "//conditions:default": ["unix_jni_linux.cc"],
    }),
)

cc_library(
    name = "latin1_jni_path",
    srcs = [
        "latin1_jni_path.cc",
        ":jni.h",
        ":jni_md.h",
    ],
    hdrs = ["latin1_jni_path.h"],
    includes = ["."],  # For jni headers.
    deps = [
        "//src/main/cpp/util:logging",
    ],
)

cc_library(
    name = "common",
    srcs = [
        "common.cc",
        ":jni.h",
        ":jni_md.h",
    ],
    includes = ["."],  # For jni headers.
    visibility = ["//src/main/native:__subpackages__"],
    alwayslink = 1,
)

cc_library(
    name = "blake3_jni",
    srcs = [
        "blake3_jni.cc",
        ":jni.h",
        ":jni_md.h",
    ],
    includes = ["."],  # For jni headers.
    visibility = ["//src/main/native:__subpackages__"],
    deps = [
        "@blake3",
    ],
    alwayslink = 1,
)

cc_binary(
    name = "libunix_jni.so",
    srcs = [
        "macros.h",
        "process.cc",
        "unix_jni.cc",
        "unix_jni.h",
        ":jni.h",
        ":jni_md.h",
        ":jni_os",
    ],
    copts = [
        "-fPIC",
        "-DBLAZE_JAVA_CPU=\"k8\"",
    ],
    includes = ["."],  # For jni headers.
    linkopts = select({
        "//src/conditions:darwin": [
            "-Wl,-framework,CoreServices",
            "-Wl,-framework,IOKit",
        ],
        "//conditions:default": [],
    }),
    linkshared = 1,
    visibility = ["//src/main/java/com/google/devtools/build/lib/jni:__pkg__"],
    deps = [
        ":blake3_jni",
        ":common",
        ":latin1_jni_path",
        "//src/main/cpp/util:logging",
        "//src/main/cpp/util:md5",
        "//src/main/cpp/util:port",
    ],
)

# TODO(bazel-team): Come up with a way to support platform-specific dynamic
# library extensions.  This is issue #914.
genrule(
    name = "mac-compat",
    srcs = ["libunix_jni.so"],
    outs = ["libunix_jni.dylib"],
    cmd = "cp $< $@",
    output_to_bindir = 1,
    visibility = ["//src/main/java/com/google/devtools/build/lib/jni:__pkg__"],
)

filegroup(
    name = "srcs",
    srcs = glob(["**"]) + [
        "//src/main/native/windows:srcs",
    ],
    visibility = ["//src:__pkg__"],
)

filegroup(
    name = "embedded_tools",
    srcs = [
        "BUILD",
        "//src/main/native/windows:embedded_tools",
    ],
    visibility = ["//visibility:public"],
)
