skia2/third_party
Kevin Lubick a74ebc9bac [bazel] Use exec_tools instead of tools for better RBE compatibility
The tools in genrules [1] correspond to the HOST's version, which
is a problem if we are doing cross-platform builds. In this case,
when I was using my M1 Mac to run on a Linux RBE platform, the
Mac's python binaries (e.g. python3_9_aarch64-apple-darwin/bin/python3)
were being uploaded to RBE and attempted to be used, which resulted
in OSError: [Errno 8] Exec format error because the won't run
on the Linux RBE machine.

Thanks to tjgq@, I learned about exec_tools [2], which will use
the version of the tools for the EXECUTION platform, which
is exactly what we want.

While debugging this, I added a minimal reproduction case in
//experimental/bazel_test and updated the py_tools version
in an effort to diagnose the issue further.

We will need to contribute similar fixes to @spirv_tools

[1] https://bazel.build/reference/be/general#genrule.tools
[2] https://bazel.build/reference/be/general#genrule.exec_tools
Bug: skia:12541
Change-Id: Ib14deb4e326d3103fd08c21e93afe342d751c17a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554518
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2022-06-30 18:02:35 +00:00
..
angle2 Port to ANGLE's GN files 2020-09-11 15:22:34 +00:00
brotli [canvaskit] Add support for woff2 fonts 2020-11-10 15:07:26 +00:00
cpu-features reformat GN files 2020-04-01 23:23:03 +00:00
d3d12allocator Add AMD allocator to D3D12 backend. 2020-09-23 21:22:52 +00:00
dng_sdk Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
etc1 Update etc1.cpp. 2020-12-16 17:57:26 +00:00
expat Add LICENSE file to third_party/expat/include/expat_config/ 2021-05-27 18:15:18 +00:00
freetype2 FreeType configuration in public_defines. 2022-05-05 18:40:49 +00:00
harfbuzz Roll HarfBuzz from 8d1b000a to 858570b1 (460 commits) 2022-06-01 22:10:39 +00:00
highway Add MVP implementation of JPEGXL decoder. 2022-02-02 15:17:14 +00:00
icu Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
imgui Revert "Spruce up SkSL slide with a much nicer editor" 2022-01-07 15:56:16 +00:00
libjpeg-turbo Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
libjxl Add MVP implementation of JPEGXL decoder. 2022-02-02 15:17:14 +00:00
libmicrohttpd GN/Win: everything links on my machine. 2016-10-12 16:39:42 +00:00
libpng Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
libwebp Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
lua avoid using tmpnam() in Lua 2018-02-01 22:39:59 +00:00
native_app_glue reformat GN files 2020-04-01 23:23:03 +00:00
oboe Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
perfetto Reland "Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class" 2022-06-15 16:35:05 +00:00
piex Reland "Build SkRawCodec in GN" 2016-10-31 09:02:57 -07:00
rive Update to latest rive 2022-06-09 17:47:45 +00:00
sfntly reformat GN files 2020-04-01 23:23:03 +00:00
skcms Make copy of skcms checkout in //modules/skcms 2022-06-30 12:05:13 +00:00
spirv-cross Roll Dawn and add dependencies 2020-03-30 18:52:06 +00:00
vulkanmemoryallocator Allow buildroot to specify location of vulkan_memory_allocator 2022-06-06 15:28:09 +00:00
wuffs Inclusive language 2020-07-24 13:33:53 +00:00
zlib Separate general defaults from Skia defaults 2021-03-22 15:30:56 +00:00
BUILD.bazel [bazel] Use exec_tools instead of tools for better RBE compatibility 2022-06-30 18:02:35 +00:00
BUILD.gn GN: Android 2016-08-25 14:50:44 -07:00
README BUG=skia:5602 2016-09-02 11:19:34 -07:00
third_party.gni Make copy of skcms checkout in //modules/skcms 2022-06-30 12:05:13 +00:00

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.