blob: f60c8e475c942ab4191e5ad88a57ae0bc9f299d7 [file] [log] [blame]
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",
],
)