# This file contains the build configurations of Skia that we use for testing on the CI.
# These allow a short-form reference for our supported combinations of build features.
# https://bazel.build/docs/bazelrc#config
#
# For most build configurations, we will want to set the --cc_output_directory_tag [1]
# with a unique identifier per configuration name.
#
# By default, Bazel's "unique target BuildConfiguration" [2] incorporates the compilation_mode,
# the target platform, and some suffixes to avoid Bazel-caused and user-caused conflicts. [3] [4]
# For example, a default output directory might look like "k8-fastbuild-ST-6a54c1377847".
# Inside this output directory is a subfolder for the target (e.g. executable) name.
#
# Note that multiple definitions of a config are allowed - in this event, they are added together.
# This is handy if we need to comment on why certain settings are necessary. Otherwise, escaping
# the trailing newline (and thus having a multi-line definition) is preferred for brevity.
#
# Notably, the flags that we turn on and off via //bazel/common_config_settings do not affect
# the output directory. The output directory is used to store compiled object files (.o files)
# and generated dependency files (e.g. the output of clang --write-dependencies [5]), so having
# these be overwritten unnecessarily will slow down incremental rebuilds when switching between
# building different configurations of the same targets.
#
# [1] https://bazel.build/reference/command-line-reference#flag--cc_output_directory_tag
# [2] https://bazel.build/docs/output_directories#layout-diagram
# [3] https://github.com/bazelbuild/bazel/blob/ad37a3748c78e0ee903b56366322c70ab8b22187/CODEBASE.md#the-structure-of-the-output-directory
# [4] https://github.com/bazelbuild/bazel/blob/e0e589658463beb9605030b4820dcc97e6a36f48/src/main/java/com/google/devtools/build/lib/analysis/config/OutputDirectories.java#L198-L236
# [5] https://clang.llvm.org/docs/ClangCommandLineReference.html#dependency-file-generation

# =============================================================================
# Targets (what to build for)
# =============================================================================

# --platforms refers to the target for which we are compiling. By setting the target to be a
# platform which has our own custom constraint_setting and constraint_value
# (skia_hermetic_toolchain=use_hermetic_toolchain), this causes Bazel to resolve the toolchain
# to be our hermetic one because our hermetic toolchains have that same constraint set in their
# target_compatible_with list.
build:for_linux_x64 --platforms=//bazel/platform:linux_x64_hermetic --cc_output_directory_tag=linux_x64
build:for_linux_x64_with_rbe --config=for_linux_x64 --config=linux_rbe

build:for_mac_arm64 --platforms=//bazel/platform:mac_arm64_hermetic --cc_output_directory_tag=mac_arm64
build:for_mac_x64 --platforms=//bazel/platform:mac_x64_hermetic --cc_output_directory_tag=mac_x64
# some aliases using more common lingo
build:for_mac_m1 --config=for_mac_arm64
build:for_mac_intel --config=for_mac_x64


# =============================================================================
# Configurations (what features we want on)
# =============================================================================
# These are examples of the syntax to create build configurations. As of May 2022, our
# Bazel configurations are still being made.
build:release --compilation_mode=opt
build:debug --compilation_mode=dbg

# See also https://github.com/emscripten-core/emsdk/issues/984 for disabling cc_toolchain_resolution
build:canvaskit_full --noincompatible_enable_cc_toolchain_resolution \
                     --include_decoder=gif_decode_codec --include_decoder=jpeg_decode_codec \
                     --include_decoder=png_decode_codec --include_decoder=webp_decode_codec \
                     \
                     --include_encoder=jpeg_encode_codec --include_encoder=png_encode_codec \
                     --include_encoder=webp_encode_codec \
                     \
                     --with_harfbuzz --with_icu --fontmgr_factory=custom_embedded_fontmgr_factory \
                     --ck_enable_fonts --ck_enable_embedded_font \
                     \
                     --disable_tracing --enable_sksl_tracing \
                     \
                     --ck_enable_canvas_polyfill --ck_enable_skp_serialization --ck_enable_skottie \
                     --ck_enable_particles --ck_enable_runtime_effect --ck_enable_matrix_js

build:ck_webgl2 --with_gl_standard=webgl_standard --gpu_backend=gl_backend \
                --disable_legacy_shader_context
# CPU build needs legacy shader context otherwise SkPerlinNoiseShader does not render
build:ck_cpu --enable_sksl --enable_legacy_shader_context

build:ck_full_webgl2_release --config=canvaskit_full --config=ck_webgl2 --config=release
build:ck_full_webgl2_debug --config=canvaskit_full --config=ck_webgl2 --config=debug
build:ck_full_cpu_release --config=canvaskit_full --config=ck_cpu --config=release
build:ck_full_cpu_debug --config=canvaskit_full --config=ck_cpu --config=debug
# TODO(kjlubick) We should be able to configure testing on Chrome or Firefox with this.
build:ck_full_webgl2_release_chrome --config=ck_full_webgl2_release
build:ck_full_cpu_release_chrome --config=ck_full_cpu_release

# We only want to enforce IWYU on debug builds because we have some things that are only
# necessary to include in debug mode (e.g. SkDEBUGCODE), but very rarely something that is
# only needed in release mode. Thus our C++ debug includes should be a superset of the
# release includes.
build:enforce_iwyu --features=skia_enforce_iwyu --cc_output_directory_tag=iwyu \
                   --compilation_mode=dbg --keep_going \
                   --with_gl_standard=gl_standard --gpu_backend=gl_backend \
                   --gpu_backend=vulkan_backend --gpu_backend=dawn_backend \
                   --enable_gpu_test_utils --force_cpu_tests \
                   --include_fontmgr=custom_directory_fontmgr --include_fontmgr=custom_embedded_fontmgr \
                   --include_fontmgr=custom_empty_fontmgr --fontmgr_factory=custom_directory_fontmgr_factory \
                   --include_decoder=avif_decode_codec --include_decoder=gif_decode_codec \
                   --include_decoder=jpeg_decode_codec --include_decoder=jxl_decode_codec \
                   --include_decoder=png_decode_codec --include_decoder=raw_decode_codec \
                   --include_decoder=webp_decode_codec \
                   --include_encoder=jpeg_encode_codec --include_encoder=png_encode_codec \
                   --include_encoder=webp_encode_codec \
                   --with_harfbuzz --with_icu \
                   --enable_sksl_tracing \
                   --enable_svg_canvas --enable_pdf_backend \
                   --compile_generated_cpp_files_for_headers


build:use_linux_rbe_pool --config=linux_rbe --remote_download_minimal

build:cpu_only --cc_output_directory_tag=cpu_tests
build:cpu_only_debug --config=cpu --config=debug
build:cpu_only_release --config=cpu --config=release
build:cpu_only_debug_rbe --config=cpu_only_debug --config=use_linux_rbe_pool
build:cpu_only_release_rbe --config=cpu_only_release --config=use_linux_rbe_pool

build:gl_ganesh --enable_gpu_test_utils --gpu_backend=gl_backend \
                 --cc_output_directory_tag=gl_ganesh
# We need to have this environment variable set when testing our Ganesh GL backend on Unix,
# otherwise, we get "Failed to open X display." and connect make a GL context for testing.
build:gl_ganesh --action_env=DISPLAY=:1

build:vulkan_ganesh --enable_gpu_test_utils --gpu_backend=vulkan_backend \
                    --cc_output_directory_tag=vulkan_ganesh

build:dawn_ganesh --enable_gpu_test_utils --gpu_backend=dawn_backend \
                    --cc_output_directory_tag=dawn_ganesh

# Short-hand aliases
build:cpu --config=cpu_only
build:gl --config=gl_ganesh
build:vk --config=vulkan_ganesh
build:dawn --config=dawn_ganesh

# Layering check does not work without sandboxing because the system headers are not in the
# right spot and so they are not found.
build:no_sandbox --spawn_strategy=local --features=-layering_check