95bcc8837f
This adds a flag to enable or disable the vulkan memory allocator (enabled by default). This flag only makes sense when vulkan is also enabled, so the flag is marked private and a public config_setting_group is made that ANDs "vulkan backend" and "user wants vma" which is what we base our rules on. There are few buildifier lint rules that get tidied up as well here. Change-Id: I089951050282afb87f01f505661c66fed920c73c Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527696 Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
94 lines
4.7 KiB
Plaintext
94 lines
4.7 KiB
Plaintext
build:clang --crosstool_top=//toolchain:clang_suite
|
|
build:clang --compiler=clang
|
|
|
|
# Use the default Bazel C++ toolchain to build the tools used during the build.
|
|
build:clang --host_crosstool_top=@bazel_tools//tools/cpp:toolchain
|
|
|
|
# =============================================================================
|
|
# Alias to build configurations below. This makes configuring things from
|
|
# the command line easier.
|
|
build --flag_alias=fontmgr_factory=//bazel/common_config_settings:fontmgr_factory
|
|
build --flag_alias=gpu_backend=//bazel/common_config_settings:gpu_backend
|
|
build --flag_alias=include_decoder=//bazel/common_config_settings:include_decoder
|
|
build --flag_alias=include_encoder=//bazel/common_config_settings:include_encoder
|
|
build --flag_alias=include_fontmgr=//bazel/common_config_settings:include_fontmgr
|
|
build --flag_alias=shaper_backend=//bazel/common_config_settings:shaper_backend
|
|
build --flag_alias=with_gl_standard=//bazel/common_config_settings:with_gl_standard
|
|
|
|
build --flag_alias=with_icu=//bazel/common_config_settings:use_icu
|
|
build --flag_alias=with_no_icu=no//bazel/common_config_settings:use_icu
|
|
build --flag_alias=disable_tracing=//bazel/common_config_settings:disable_tracing
|
|
build --flag_alias=enable_tracing=no//bazel/common_config_settings:disable_tracing
|
|
build --flag_alias=disable_effect_serialization=//bazel/common_config_settings:disable_effect_serialization
|
|
build --flag_alias=enable_effect_serialization=no//bazel/common_config_settings:disable_effect_serialization
|
|
build --flag_alias=enable_vma=//bazel/common_config_settings:use_vulkan_memory_allocator
|
|
build --flag_alias=disable_vma=no//bazel/common_config_settings:use_vulkan_memory_allocator
|
|
|
|
# CanvasKit flags
|
|
build --flag_alias=ck_enable_fonts=//modules/canvaskit:enable_fonts
|
|
build --flag_alias=ck_disable_fonts=no//modules/canvaskit:enable_fonts
|
|
|
|
# =============================================================================
|
|
# REMOTE BUILD EXECUTION
|
|
# =============================================================================
|
|
|
|
# =====
|
|
# The following was copied from https://github.com/bazelbuild/bazel-toolchains/blob/ea243d43269df23de03a797cff2347e1fc3d02bb/bazelrc/bazel-4.1.0.bazelrc
|
|
# We should be free to modify this as we see fit.
|
|
#
|
|
# Depending on how many machines are in the remote execution instance, setting
|
|
# this higher can make builds faster by allowing more jobs to run in parallel.
|
|
# Setting it too high can result in jobs that timeout, however, while waiting
|
|
# for a remote machine to execute them.
|
|
build:remote --jobs=50
|
|
|
|
# Set several flags related to specifying the platform, toolchain and java
|
|
# properties.
|
|
build:remote --java_runtime_version=rbe_jdk
|
|
build:remote --tool_java_runtime_version=rbe_jdk
|
|
|
|
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
|
|
# Platform flags:
|
|
# The toolchain container used for execution is defined in the target indicated
|
|
# by "extra_execution_platforms", "host_platform" and "platforms".
|
|
# More about platforms: https://docs.bazel.build/versions/master/platforms.html
|
|
|
|
# Starting with Bazel 0.27.0 strategies do not need to be explicitly
|
|
# defined. See https://github.com/bazelbuild/bazel/issues/7480
|
|
build:remote --define=EXECUTOR=remote
|
|
|
|
# Enable remote execution so actions are performed on the remote systems.
|
|
build:remote --remote_executor=grpcs://remotebuildexecution.googleapis.com
|
|
|
|
# Enforce stricter environment rules, which eliminates some non-hermetic
|
|
# behavior and therefore improves both the remote cache hit rate and the
|
|
# correctness and repeatability of the build.
|
|
build:remote --incompatible_strict_action_env=true
|
|
|
|
# Set a higher timeout value, just in case.
|
|
build:remote --remote_timeout=3600
|
|
|
|
# Enable authentication. This will pick up application default credentials by
|
|
# default. You can use --google_credentials=some_file.json to use a service
|
|
# account credential instead.
|
|
# See https://developers.google.com/remote-build-execution/docs/authentication
|
|
build:remote --google_default_credentials=true
|
|
|
|
# End of the copied RBE settings
|
|
#=====
|
|
|
|
# Use the RBE instance on the skia-rbe GCP project.
|
|
build:remote --remote_instance_name projects/skia-rbe/instances/default_instance
|
|
|
|
# These settings are specific to compiling on our Linux RBE workers. For example,
|
|
# Use the worker pool as specified by the gce_linux_platform platform in
|
|
# //bazel/rbe/BUILD.bazel.
|
|
build:linux-rbe --config=remote
|
|
# Use our hermetic toolchain instead of the clang in the toolchain.
|
|
build:linux-rbe --crosstool_top=//toolchain:clang_suite
|
|
# We want to run on this RBE platform
|
|
build:linux-rbe --extra_execution_platforms=//bazel/rbe:gce_linux_platform
|
|
# On the RBE instances, this Java and C++ toolchain are available
|
|
build:linux-rbe --extra_toolchains=//bazel/rbe/gce_linux/java:all
|
|
build:linux-rbe --extra_toolchains=//bazel/rbe/gce_linux/config:cc-toolchain
|