97284f255b
This makes use of Bazel's pre-defined platforms https://github.com/bazelbuild/platforms and some of our own defined values (see //bazel/common_config_settings/BUILD.bazel) to customize the build rules. I verified this by building bazel_test locally for linux x64 as well as using the third_party deps for a WASM build (using build files not seen in this CL). Suggested Review Order: - https://docs.bazel.build/versions/main/platforms.html if not already familiar with Bazel Platforms - third_party/BUILD.bazel to see that 1) all globs have been removed and 2) select() targets various platform constants or groups of constants to control sources, headers, and local_defines. - common_config_settings/ to see the groups of constraints created, as well as new constraint_settings defined (skdebug_impl) - supported_combinations/ to see how we can define supported sets of the constraint values (aka Bazel platforms). I imagine expanding this more, so we might have platforms named "linux_x64_emptyfontmgr_vulkan" or such. - //BUILD.bazel and bazel_test.cpp to see use of SkDebugf. - Everything else. Change-Id: I49e4abdbcf7b76f0674efdbb1f53dc8823d110ee Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/463517 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com> Owners-Override: Kevin Lubick <kjlubick@google.com> |
||
---|---|---|
.. | ||
angle2 | ||
brotli | ||
cpu-features | ||
d3d12allocator | ||
dng_sdk | ||
etc1 | ||
expat | ||
freetype2 | ||
harfbuzz | ||
icu | ||
imgui | ||
libjpeg-turbo | ||
libmicrohttpd | ||
libpng | ||
libwebp | ||
lua | ||
musl_compat | ||
native_app_glue | ||
oboe | ||
piex | ||
sfntly | ||
skcms | ||
spirv-cross | ||
vulkanmemoryallocator | ||
wuffs | ||
zlib | ||
BUILD.bazel | ||
BUILD.gn | ||
README | ||
third_party.gni |
The third_party directory contains a set of dependencies from outside sources that are needed to build various components and tools within Skia. Some of these dependencies reside within the Skia repo, while others are pulled from other repositories and placed in the third_party/externals directory during build. These external dependencies are defined in a DEPS file. Products in third_party are subject to their own respective license terms. The license for each project should be included in the source itself via a license header or file. If the source itself does not include a license header or file, create a README that refers to reliable documentation of the project's license terms on the web.