Go to file
Kevin Lubick 888d4efa77 [canvaskit] Add Freetype/Fonts to Bazel Build
This re-works src/ports/BUILD.bazel to work like our other
BUILD files, i.e. one rule "srcs" that brings in the necessary
private filegroups.

To work around an abort with LLVM [1], we have to go back to an
earlier version of emscripten (temporarily?).

Future work should look at using transitions [2] to allow various
executables (e.g. CanvasKit, DM) to set their own set of Bazel
flags, w/o the build invokers having to specify them.

These transitions might be able to handle more complex cases
that we currently use if statements in GN to deal with.

The Freetype build rule was created by taking the BUILD.gn
rule, adding in all the sources listed there and then playing
compile-whack-a-mole to add in all the headers and included
.c files.

Suggested Review Order:
 - third_party/BUILD.bazel to see freetype build rules
 - bazel/common_config_settings/ to see treatment of fontmgr
   like codecs (many possible) and fontmgr_factory (only one).
 - src/ports/BUILD.bazel
 - BUILD.bazel
 - modules/canvaskit/BUILD.bazel. Take note of the gen_rule that
   calls tools/embed_resources.py to produce the .cpp file
   containing the embedded font data.
 - Everything else.

[1] https://github.com/emscripten-core/emscripten/issues/15528
[2] https://github.com/bazelbuild/examples/tree/main/rules/starlark_configurations/cc_binary_selectable_copts
Bug: skia:12541
Change-Id: I08dab82a901d80507007b354ca20cbfad2c2388f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/471636
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-17 13:06:35 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
bench Yank GrStrokeTessellationShader out of StrokeTessellators 2021-11-15 17:07:38 +00:00
bin [sk] Update asset download references to use SK 2021-09-17 16:55:53 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
demos.skia.org [demos] Add WebGPU demo using origin trial 2021-10-08 16:35:34 +00:00
dm Add ShaderType::kSolidColor and make Combinations work w/ PaintParams 2021-11-16 16:31:09 +00:00
docker [infra] Update cmake docker image to be Debian 10 2021-07-23 11:21:31 +00:00
docs/examples Reland "Add sRGB 8888 colortype" 2021-08-24 12:56:32 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental [graphite] Move VertexAttribTypeSize to DrawTypes.h 2021-11-16 20:11:34 +00:00
fuzz Make all shader caps uniquely-owned 2021-10-21 20:11:03 +00:00
gm Reland "Implement batching for convex tessellated paths" 2021-11-11 20:01:40 +00:00
gn Implement serialization for SkVMDebugInfo traces. 2021-11-16 15:49:24 +00:00
include Store whether or not a VkImage is from a swapchain and return it in drawable info. 2021-11-16 21:14:59 +00:00
infra Update SKP version 2021-11-16 17:39:07 +00:00
modules [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
platform_tools change method signature for FontChain 2021-10-28 01:57:32 +00:00
resources Add parser support for u suffix on literals. 2021-11-16 13:50:14 +00:00
samplecode Move breadcrumb and inner-fan triangles out of PathCurveTessellator 2021-11-12 15:26:51 +00:00
site Fix SkSL doc examples that used reserved identifiers 2021-11-05 18:06:46 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
tests Store whether or not a VkImage is from a swapchain and return it in drawable info. 2021-11-16 21:14:59 +00:00
third_party [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
toolchain [infra] Add initial Bazel rules and files 2021-11-09 12:32:25 +00:00
tools [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
.bazelrc [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
.bazelversion [infra] Add Bazel rules for codecs. 2021-11-11 20:10:01 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore Add .vscode to the default gitignore list. 2021-10-13 15:23:02 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Reland "Enable non-standalone builds with dawn" 2021-11-15 20:52:41 +00:00
BUILD.bazel [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
BUILD.gn Implement serialization for SkVMDebugInfo traces. 2021-11-16 15:49:24 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll ANGLE from d27552f21f4e to b9c0194c4e1e (10 revisions) 2021-11-17 05:23:08 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod Update go/skia.org/infra in go.mod/go.sum 2021-11-10 15:26:38 +00:00
go.sum Update go/skia.org/infra in go.mod/go.sum 2021-11-10 15:26:38 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl Move ToolUtils::make_big_path() to bench/ 2021-10-14 12:57:29 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Limit surfaces/images to 2GB in size 2021-11-15 21:32:43 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +00:00
WORKSPACE.bazel [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.