skia2/bazel/external
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
..
dawn [bazel] Use exec_tools instead of tools for better RBE compatibility 2022-06-30 18:02:35 +00:00
dng_sdk [bazel] Move remaining codec build rules to //bazel/external 2022-06-01 19:12:14 +00:00
expat [bazel] Add option for SkSVGCanvas (and expat third_party DEP) 2022-06-27 15:56:55 +00:00
libjpeg_turbo [bazel] Add option for SkSVGCanvas (and expat third_party DEP) 2022-06-27 15:56:55 +00:00
libpng [bazel] Fix toolchains on M1 Mac 2022-06-27 14:02:49 +00:00
libwebp [bazel] Replace -isystem with -I for copts 2022-06-28 17:16:42 +00:00
perfetto Reland "Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class" 2022-06-15 16:35:05 +00:00
piex [bazel] Move remaining codec build rules to //bazel/external 2022-06-01 19:12:14 +00:00
vulkan_headers
vulkan_tools
vulkanmemoryallocator
wuffs [bazel] Move remaining codec build rules to //bazel/external 2022-06-01 19:12:14 +00:00
zlib [bazel] Replace -isystem with -I for copts 2022-06-28 17:16:42 +00:00
README.md

This folder is where we put BUILD.bazel files for external (e.g. third party) dependencies.

If a dependency supports Bazel, we should use those rules, but if the dependency does not, we need to create our own rules in a subdirectory.

These BUILD.bazel files are used in WORKSPACE.bazel (e.g. new_local_repository or new_git_repository).