load(":defs.bzl", "string_flag_with_values")

# @platforms is found at https://github.com/bazelbuild/platforms
package(default_visibility = ["//:__subpackages__"])

config_setting(
    name = "linux_x64",
    constraint_values = [
        "@platforms//cpu:x86_64",
        "@platforms//os:linux",
    ],
)

config_setting(
    name = "windows_x64",
    constraint_values = [
        "@platforms//cpu:x86_64",
        "@platforms//os:windows",
    ],
)

config_setting(
    name = "linux_arm64",
    constraint_values = [
        "@platforms//cpu:arm64",
        "@platforms//os:linux",
    ],
)

config_setting(
    name = "debug_build",
    values = {"compilation_mode": "dbg"},
)

config_setting(
    name = "release_build",
    values = {"compilation_mode": "opt"},
)

constraint_value(
    name = "fuchsia",
    constraint_setting = "@platforms//os:os",
)

config_setting(
    name = "fuchsia_arm64",
    constraint_values = [
        "@platforms//cpu:arm64",
        ":fuchsia",
    ],
)

# We define this here because the emscripten toolchain calls the cpu wasm, whereas the
# bazelbuild/platforms call it wasm32. https://github.com/emscripten-core/emsdk/issues/919
config_setting(
    name = "cpu_wasm",
    values = {
        "cpu": "wasm",
    },
)

# =============================================================================
#                     Configurable Skia Features
# =============================================================================
# These are flags that we can specify when invoking bazel build to turn on and
# off certain features, such as GPU backend, or codec support.
# https://docs.bazel.build/versions/4.2.1/skylark/config.html#using-build-settings-on-the-command-line
# For example, to use the GL backend with the WebGL flavor, one would run
# bazel build //:skia-core --//bazel/common_config_settings:gpu_backend=gl_backend \
#             --//bazel/common_config_settings:with_gl_standard=webgl_standard
# This is a bit wordy, so we define aliases in the //.bazelrc file that condense this to
# bazel build //:skia-core --gpu_backend=gl_backend --with_gl_standard=webgl_standard
#
# Developers can specify their own short-hands by making a .bazelrc file in their home
# directory. https://docs.bazel.build/versions/main/guide.html#where-are-the-bazelrc-files
#

string_flag_with_values(
    flag_name = "gpu_backend",
    multiple = True,
    values = [
        "gl_backend",
        "vulkan_backend",
    ],
)

string_flag_with_values(
    flag_name = "with_gl_standard",
    values = [
        "gles_standard",
        "gl_standard",
        "webgl_standard",
    ],
)

string_flag_with_values(
    default = "empty_fontmgr_factory",
    flag_name = "fontmgr_factory",
    values = [
        "empty_fontmgr_factory",
        "custom_embedded_fontmgr_factory",
    ],
)

string_flag_with_values(
    flag_name = "include_fontmgr",
    multiple = True,
    values = [
        "custom_directory_fontmgr",
        "custom_embedded_fontmgr",
        "custom_empty_fontmgr",
    ],
)

string_flag_with_values(
    flag_name = "include_decoder",
    multiple = True,
    values = [
        "gif_decode_codec",
        "jpeg_decode_codec",
        "png_decode_codec",
        "raw_decode_codec",
        "webp_decode_codec",
    ],
)

string_flag_with_values(
    flag_name = "include_encoder",
    multiple = True,
    values = [
        "jpeg_encode_codec",
        "png_encode_codec",
        "webp_encode_codec",
    ],
)
