blob: cb463bf1b4f97ebb6fbb1b453291d9db789dfe86 [file] [log] [blame]
load("//bazel:macros.bzl", "select_multi")
GENERAL_DEFINES = ["SK_HAS_ANDROID_CODEC"] + select({
"//bazel/common_config_settings:debug_build": [
"SK_DEBUG",
],
"//bazel/common_config_settings:release_build": [
"SK_RELEASE",
],
"//conditions:default": [
"SK_RELEASE",
],
}) + select({
"//bazel/common_config_settings:disable_tracing_true": ["SK_DISABLE_TRACING"],
"//conditions:default": [],
}) + select({
"//bazel/common_config_settings:disable_effect_serialization_true": ["SK_DISABLE_EFFECT_DESERIALIZATION"],
"//conditions:default": [],
}) + select({
"//bazel/common_config_settings:is_skia_dev_build_true": [
"GR_TEST_UTILS=1",
"SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1",
],
"//conditions:default": [],
})
GPU_DEFINES = select({
"//bazel/common_config_settings:gl_backend": [
"SK_GL",
"SK_SUPPORT_GPU=1",
],
"//bazel/common_config_settings:vulkan_backend": [
"SK_VULKAN",
"SK_SUPPORT_GPU=1",
],
"//conditions:default": [
"SK_SUPPORT_GPU=0",
],
}) + select({
"//bazel/common_config_settings:gl_standard": [
"SK_ASSUME_GL=1",
],
"//bazel/common_config_settings:gles_standard": [
"SK_ASSUME_GL_ES=1",
],
"//bazel/common_config_settings:webgl_standard": [
"SK_ASSUME_WEBGL=1",
"SK_USE_WEBGL",
],
"//conditions:default": [],
})
CODEC_DEFINES = select_multi(
{
"//bazel/common_config_settings:gif_decode_codec": ["SK_HAS_WUFFS_LIBRARY"],
"//bazel/common_config_settings:jpeg_decode_codec": ["SK_CODEC_DECODES_JPEG"],
"//bazel/common_config_settings:jpeg_encode_codec": ["SK_ENCODE_JPEG"],
"//bazel/common_config_settings:png_decode_codec": ["SK_CODEC_DECODES_PNG"],
"//bazel/common_config_settings:png_encode_codec": ["SK_ENCODE_PNG"],
"//bazel/common_config_settings:raw_decode_codec": [
"SK_CODEC_DECODES_RAW",
"SK_CODEC_DECODES_JPEG",
],
"//bazel/common_config_settings:webp_decode_codec": ["SK_CODEC_DECODES_WEBP"],
"//bazel/common_config_settings:webp_encode_codec": ["SK_ENCODE_WEBP"],
},
default = [],
)
PLATFORM_DEFINES = select({
"//bazel/common_config_settings:cpu_wasm": [
# working around https://github.com/emscripten-core/emscripten/issues/10072
"SK_FORCE_8_BYTE_ALIGNMENT",
"SK_DISABLE_LEGACY_SHADERCONTEXT",
"SK_DISABLE_AAA", # This saves about 57KB of code size, uncompressed
"SK_NO_COMMAND_BUFFER", # not a feature CK needs.
],
"//conditions:default": [],
})
SHAPER_DEFINES = select_multi(
{
"//bazel/common_config_settings:coretext_shaper": ["SK_SHAPER_CORETEXT_AVAILABLE"],
"//bazel/common_config_settings:harfbuzz_shaper": ["SK_SHAPER_HARFBUZZ_AVAILABLE"],
},
default = [],
)
UNICODE_DEFINES = select({
"//bazel/common_config_settings:use_icu_true": ["SK_UNICODE_AVAILABLE"],
"//conditions:default": [],
})
cc_library(
name = "defines_from_flags",
defines = GENERAL_DEFINES + GPU_DEFINES + CODEC_DEFINES + PLATFORM_DEFINES +
SHAPER_DEFINES + UNICODE_DEFINES,
visibility = ["//:__subpackages__"],
)