| 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", |
| ], |
| ) |