skia2/tools
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
..
android Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
calmbench Update references to master branch 2021-05-21 15:18:16 +00:00
copyright Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
debugger Fix #ifdef SK_SUPPORT_GPU to be #if 2021-11-08 15:14:28 +00:00
doxygen Include svg module in Doxygen generated output. 2021-01-06 16:40:09 +00:00
fiddle Move sk_memset* from SkUtils to SkOpts 2021-11-03 17:03:21 +00:00
flags Remove GPU V2 2021-11-11 17:11:19 +00:00
fm Use CommonFlags namespace for other flags/functions 2021-10-14 14:34:21 +00:00
fonts Serialize foreground color caching requirement specialisation 2021-11-03 19:56:47 +00:00
gdb
gpu [graphite] Add IndexWriter and UniformWriter classes. 2021-10-27 00:20:38 +00:00
graphite [graphite] Fix commandqueue memory leak 2021-10-13 19:42:51 +00:00
infra
lottie-web-perf HTML typo egde => edge 2020-06-19 15:12:06 +00:00
lottiecap HTML typo egde => edge 2020-06-19 15:12:06 +00:00
malisc Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
mdbviz
perf-canvaskit-puppeteer [canvaskit] Remove deprecated MakeTypefaceFromData and RefDefault 2021-10-21 16:45:42 +00:00
rebaseline Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
run-wasm-gm-tests Reland "Purge ccpr" 2021-06-19 18:42:38 +00:00
sk_app Move UTF16 helpers from SkUtils to SkUTF 2021-11-03 17:03:21 +00:00
skdiff Fix cases of variable shadowing in /tools/. 2021-08-11 16:05:52 +00:00
skiaserve deprecate getTotalMatrix 2020-12-03 17:37:35 +00:00
skottie_ios_app roll gn to latest 2021-01-15 15:34:00 +00:00
skottie-wasm-perf Reland "[canvaskit] Change SkRects to be arrays, not objects." 2020-09-03 14:31:38 +00:00
skp Add skia_motionmarksuites_desktop.py 2021-07-29 19:16:05 +00:00
skpbench Use CommonFlags namespace for other flags/functions 2021-10-14 14:34:21 +00:00
skqp Name Test struct's member variables consistently 2021-10-13 17:37:39 +00:00
skui Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
svg Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
timer
trace Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
viewer In SkRuntimeEffect, replace ConstIterable with SkSpan 2021-11-10 21:09:58 +00:00
__init__.py
abandon_gerrit_cls.py Add wrapper script to call tool to bulk abandon Gerrit CLs 2020-03-11 18:50:57 +00:00
add_codereview_message.py
AndroidSkDebugToStdOut.cpp
AutoreleasePool.h
AutoreleasePool.mm
bloaty_treemap.py Update bloaty treemap to work on Python < 3.9. 2021-09-13 17:20:49 +00:00
blob_cache_sim.cpp
build_command_buffer.py
BUILD_simulator.py
build_workaround_header.py Correct a typo in build_workaround_header.py 2021-07-29 13:06:01 +00:00
BUILD.bazel [canvaskit] Add Freetype/Fonts to Bazel Build 2021-11-17 13:06:35 +00:00
check-headers-self-sufficient rm SkPreConfig.h and SkPostConfig.h 2020-02-06 19:16:43 +00:00
chrome_fuzz.cpp
clang-tidy.sh don't run clang-tidy on third_party 2020-03-30 15:26:32 +00:00
compare_codereview.py
convert-to-nia.cpp Add convert-to-nia command-line program 2020-05-28 15:08:08 +00:00
cpu_modules.cpp
CrashHandler.cpp Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
CrashHandler.h
DDLPromiseImageHelper.cpp Reland "Remove GrBackendFormat's textureType use from isFormatTexturable call." 2021-08-13 22:37:13 +00:00
DDLPromiseImageHelper.h Only include SkJSONWriter when SK_ENABLE_DUMP_GPU defined 2021-11-02 16:17:17 +00:00
DDLTileHelper.cpp Reland "Remove GrBackendFormat's textureType use from isFormatTexturable call." 2021-08-13 22:37:13 +00:00
DDLTileHelper.h Move SkSpan to include/, for use in public API 2021-05-12 13:19:32 +00:00
doxygen_footer.txt
dump_record.cpp Fix cases of variable shadowing in /tools/. 2021-08-11 16:05:52 +00:00
embed_resources.py Tweak scripts to fix CK builds with python 3 2020-06-29 12:59:05 +00:00
find_run_binary.py
fix_pythonpath.py
force_older_glibc_math.h
gcov_shim
get_current_monitor_profile.cpp
get_images_from_skps.cpp
git-sync-deps [infra] Make git-sync-deps truncate directory from beginning 2021-11-15 15:36:07 +00:00
HashAndEncode.cpp Reland "Add sRGB 8888 colortype" 2021-08-24 12:56:32 +00:00
HashAndEncode.h [canvaskit] POC bindings for testing gms 2020-10-08 16:03:08 +00:00
image_diff_metric.cpp
imgcvt.cpp
install_dependencies.sh Add optional --yes argument to tools/install_dependencies.sh. 2021-01-05 16:30:22 +00:00
ios_utils.h
ios_utils.m
jsondiff.py
list_gms.cpp
list_gpu_unit_tests.cpp Name Test struct's member variables consistently 2021-10-13 17:37:39 +00:00
LsanSuppressions.cpp stifle leaks in terminator_CreateDevice() 2020-04-08 15:28:48 +00:00
merge_static_libs.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
milestone.py Update references to master branch 2021-05-21 15:18:16 +00:00
mirror-dev.sh
misc_utils.py
MSKPPlayer.cpp Move canvas helper structs to header 2021-08-10 17:53:16 +00:00
MSKPPlayer.h Move canvas helper structs to header 2021-08-10 17:53:16 +00:00
OverwriteLine.h
parse_llvm_coverage.py
pathops_sorter.htm
pathops_visualizer.htm
ProcStats.cpp Add heap usage of SkSL::Compiler to nanobench output 2020-07-09 00:05:28 +00:00
ProcStats.h Add heap usage of SkSL::Compiler to nanobench output 2020-07-09 00:05:28 +00:00
public_headers_warnings_check.cpp
random_parse_path.cpp Fix cases of variable shadowing in /tools/. 2021-08-11 16:05:52 +00:00
random_parse_path.h
reformat-json.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
Registry.h
remote_demo.cpp Remove SkTextBlobDiffCanvas, use tracking device directly with base SkCanvas 2021-05-06 16:11:57 +00:00
ResourceFactory.h
Resources.cpp
Resources.h
retrieve_from_googlesource.py Update references to master branch 2021-05-21 15:18:16 +00:00
rewrite_includes.py Fix rewrite_includes to work in both Python 2 and 3. 2021-08-17 11:53:50 +00:00
RuntimeBlendUtils.cpp Convert internal SkSL to use .eval() 2021-09-03 15:54:54 +00:00
RuntimeBlendUtils.h Simplify GetRuntimeBlendForBlendMode. 2021-07-30 16:42:36 +00:00
sanitize_source_files.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
serve_wasm.py [infra] Deduplicate serve.py 2021-10-12 11:42:50 +00:00
SkMetaData.cpp Move fontmgr_bounds labels to tight bounds 2020-08-24 15:02:44 +00:00
SkMetaData.h Move fontmgr_bounds labels to tight bounds 2020-08-24 15:02:44 +00:00
skottie2movie.cpp Fix skottie2movie gpu async crash 2021-09-11 15:49:19 +00:00
skp_parser.cpp
skpinfo.cpp Print out picture version even if its unsupported 2021-07-20 00:11:39 +00:00
SkSharingProc.cpp Support building on clang with -std=c++14 but no C++17 extension warning. 2021-10-12 16:34:30 +00:00
SkSharingProc.h Accept a callback used in MultiPictureDocument::endPage 2021-01-06 16:52:50 +00:00
Stats.h Update SkTQSort to use half-open ranges. 2020-07-14 22:13:59 +00:00
test_all.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
test_pdfs.py
ToolUtils.cpp Extract ToolUtils::sniff_paths 2021-10-19 17:39:11 +00:00
ToolUtils.h Extract ToolUtils::sniff_paths 2021-10-19 17:39:11 +00:00
UrlDataManager.cpp begin refactoring SkTDynamicHash and SkTMultiMap 2020-03-16 14:06:30 +00:00
UrlDataManager.h Enable ClangTidy check readability-redundant-smartptr-get. 2020-08-16 15:56:48 +00:00
using_skia_and_harfbuzz.cpp Support building on clang with -std=c++14 but no C++17 extension warning. 2021-10-12 16:34:30 +00:00
valgrind.supp Add another make_get_error_with_random_oom valgrind suppression 2020-06-24 22:15:33 +00:00
win_dbghelp.cpp Remove "dummy" to comply with Android's inclusive language guidance 2020-07-31 19:11:23 +00:00
win_dbghelp.h
win_lcid.cpp
xsan.supp rename tools/xsan.blacklist 2020-07-24 18:12:31 +00:00