4bd08c52c0
As a follow-up to https://skia-review.googlesource.com/c/skia/+/476219, this sketches out how we can maybe use cc_library for the things in //modules to make sure something in //src doesn't depend on anything in //modules, for example. The following succeeds: bazel build //modules/skparagraph:skparagraph --config=clang \ --shaper_backend=harfbuzz_shaper --with_icu As does `make bazel_canvaskit_debug` in //modules/canvaskit Suggested Review Order: - third_party/BUILD.bazel for ICU and harfbuzz rules. Pay special attention to the genrules used to call the python script for turning the icu .dat file into .S or .cpp. - bazelrc and bazel/ for new flags and defines that control use of ICU and harfbuzz. Unlike GN, with the public_defines that get added in automatically if icu or harfbuzz is depended upon, we need to set the defines at the top level. This necessity might go away if we change the atoms to depend on //modules/skshaper, which could define that flag. - Top level BUILD.bazel files in //modules/skparagraph, //modules/skshaper, //modules/skunicode, //modules/canvaskit - All other .bazel file changes are automatic. Bug: skia:12541 Change-Id: I38a9e0a9261d7e142eeb271c2ddb23f362f91473 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478116 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@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 | ||
file_map_for_bazel.json | ||
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.