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 Update gdb bitmap viewer. 2018-06-20 21:24:27 +00:00
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 [infra] Use "mod download" and "install", not "get" in chrome_release_branch 2019-12-06 11:16:41 +00:00
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 Reland "Merge GrOpList and GrRTOpList and rename to GrOpsTask." 2019-08-22 20:52:09 +00:00
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 Adapt GrRectBlur for cases with rect W/H less than six sigma. 2019-09-10 14:39:07 +00:00
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 Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
AndroidSkDebugToStdOut.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
AutoreleasePool.h Reland "Added AutoreleasePool for managing pool memory in testing apps." 2019-05-31 15:40:01 +00:00
AutoreleasePool.mm Reland "Added AutoreleasePool for managing pool memory in testing apps." 2019-05-31 15:40:01 +00:00
bloaty_treemap.py Update bloaty treemap to work on Python < 3.9. 2021-09-13 17:20:49 +00:00
blob_cache_sim.cpp SkRemoteGlyphCache Add tracing to diff canvas 2019-10-24 17:09:31 +00:00
build_command_buffer.py Improvements to build_command_buffer.py 2016-11-04 10:54:54 -07:00
BUILD_simulator.py Fix Google3 fonts. Use fontconfig rather than custom_directory_factory. Add Google3 font caching. 2015-12-01 11:12:05 -08:00
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 rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
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 Particle cleanup: split SkParticleBinding out of SkParticleEffect 2019-08-30 15:32:38 +00:00
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 [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
fix_pythonpath.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
force_older_glibc_math.h roll cast toolchain 2019-08-15 20:02:18 +00:00
gcov_shim
get_current_monitor_profile.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
get_images_from_skps.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
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 pdf-comparison and image_diff_metric tools 2019-09-19 21:18:28 +00:00
imgcvt.cpp Move skcms.h to include/third_party/skcms 2019-04-29 15:02:45 +00:00
install_dependencies.sh Add optional --yes argument to tools/install_dependencies.sh. 2021-01-05 16:30:22 +00:00
ios_utils.h Fix bugs with fence sync API on iOS devices 2017-10-10 19:05:13 +00:00
ios_utils.m rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
jsondiff.py Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
list_gms.cpp gm: GMFactory returns a unique_ptr<> 2019-08-12 19:02:40 +00:00
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 Update mirror-dev for *-dev:amd64 packages. 2017-11-09 22:44:57 +00:00
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 eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
parse_llvm_coverage.py Walk through files in parse_llvm_coverage.py instead of using 'git ls-files' 2016-04-18 04:18:56 -07:00
pathops_sorter.htm fix pathops bug 8380 2018-12-21 19:15:54 +00:00
pathops_visualizer.htm fix pathops bug 8380 2018-12-21 19:15:54 +00:00
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 GN: add public headers warnings check. 2016-11-16 19:27:29 +00:00
random_parse_path.cpp Fix cases of variable shadowing in /tools/. 2021-08-11 16:05:52 +00:00
random_parse_path.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
reformat-json.py Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
Registry.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
remote_demo.cpp Remove SkTextBlobDiffCanvas, use tracking device directly with base SkCanvas 2021-05-06 16:11:57 +00:00
ResourceFactory.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Resources.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Resources.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
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 Remove an uncessary and unused parameter for partially generating the JSON command list 2019-12-13 19:30:03 +00:00
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 eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
win_lcid.cpp Move SkTSearch.h into src. 2019-05-15 14:15:07 +00:00
xsan.supp rename tools/xsan.blacklist 2020-07-24 18:12:31 +00:00