load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_library", "skia_objc_library")
load("//bazel:macros.bzl", "py_binary")

licenses(["notice"])

exports_files_legacy()

skia_cc_library(
    name = "tool_utils",
    testonly = True,
    srcs = [
        "Resources.cpp",
        "ToolUtils.cpp",
        "ResourceFactory.h",
        "//tools/flags",
        # TODO(kjlubick, bungeman): We should split out the font stuff into its own set of files
        "//tools/fonts:test_font_manager_srcs",
        "SkMetaData.cpp",
    ],
    hdrs = [
        "DecodeFile.h",
        "Resources.h",
        "SkMetaData.h",
        "ToolUtils.h",
    ],
    textual_hdrs = [
        "//tools/fonts:test_fonts",
    ],
    visibility = ["//:__subpackages__"],
    deps = [
        "//:skia_internal",
    ],
)

skia_cc_library(
    name = "registry",
    hdrs = ["Registry.h"],
    visibility = [
        "//gm:__pkg__",
        "//tests:__subpackages__",
        "//tools/viewer:__pkg__",
    ],
    deps = ["//:skia_internal"],
)

py_binary(
    name = "embed_resources",
    srcs = ["embed_resources.py"],
    visibility = ["//:__subpackages__"],
)

skia_cc_library(
    name = "autorelease_pool",
    hdrs = ["AutoreleasePool.h"],
    visibility = ["//tools/gpu:__pkg__"],
)

skia_objc_library(
    name = "autorelease_pool_objc",
    srcs = ["AutoreleasePool.mm"],
    hdrs = ["AutoreleasePool.h"],
    visibility = ["//tools/gpu:__pkg__"],
)

skia_cc_library(
    name = "url_data_manager",
    srcs = ["UrlDataManager.cpp"],
    hdrs = ["UrlDataManager.h"],
    visibility = ["//tools/debugger:__pkg__"],
    deps = ["//:skia_internal"],
)

skia_cc_library(
    name = "sk_sharing_proc",
    srcs = ["SkSharingProc.cpp"],
    hdrs = ["SkSharingProc.h"],
    visibility = ["//tools/debugger:__pkg__"],
    deps = ["//:skia_internal"],
)

skia_cc_library(
    name = "mskp_player",
    srcs = ["MSKPPlayer.cpp"],
    hdrs = ["MSKPPlayer.h"],
    visibility = ["//tools/viewer:__pkg__"],
    deps = [
        ":sk_sharing_proc",
        "//:skia_internal",
    ],
)

skia_cc_library(
    name = "runtime_blend_utils",
    srcs = ["RuntimeBlendUtils.cpp"],
    hdrs = ["RuntimeBlendUtils.h"],
    visibility = [
        "//tests:__pkg__",
        "//tools/viewer:__pkg__",
    ],
    deps = ["//:skia_internal"],
)

skia_cc_library(
    name = "get_executable_path",
    srcs = select({
        "@platforms//os:windows": ["SkGetExecutablePath_win.cpp"],
        "@platforms//os:macos": ["SkGetExecutablePath_mac.cpp"],
        "@platforms//os:linux": ["SkGetExecutablePath_linux.cpp"],
    }),
    hdrs = ["SkGetExecutablePath.h"],
    visibility = [
        "//src/sksl:__pkg__",
        "//tools/sksl-minify:__pkg__",
    ],
)

# Regenerate workarounds with `bazel run //tools:generate_workarounds`
py_binary(
    name = "generate_workarounds",
    srcs = [":generate_workarounds.py"],
    args = [
        "--output-file",
        "include/gpu/GrDriverBugWorkaroundsAutogen.h",
        "src/gpu/gpu_workaround_list.txt",
    ],
    data = [
        ":build_workaround_header",
    ],
    tags = ["no-remote"],
)

py_binary(
    name = "build_workaround_header",
    srcs = ["build_workaround_header.py"],
)

_GENERATE_WORKAROUNDS = """
import os
import subprocess
import sys

# https://bazel.build/docs/user-manual#running-executables
# Note: Bazel eats single quotes, so we must use double quotes.
os.chdir(os.environ["BUILD_WORKSPACE_DIRECTORY"])

# execpath returns the path to the given label relative to the Skia root.
# This will be something like:
#   bazel-out/k8-opt-exec-81C6BA4F/bin/tools/build_workaround_header
# https://bazel.build/reference/be/make-variables#predefined_label_variables
generate_script = os.path.abspath("$(execpath :build_workaround_header)")

result = subprocess.run(
    [generate_script] + sys.argv[1:], capture_output=True, encoding="utf-8")
if result.returncode != 0:
    print(result.stdout)
    print(result.stderr)
    sys.exit(result.returncode)
"""

genrule(
    name = "create_generate_workarounds_script",
    outs = ["generate_workarounds.py"],
    cmd = "echo '%s' > $@" % _GENERATE_WORKAROUNDS,
    exec_tools = [":build_workaround_header"],
)
