Set up rust toolchains for device build

This CL implement 2 toolchains:
1. final_rust_toolchain to build rust code for device from standard library's source
2. base_rust_toolchain acts as an intermediate toolchain to compile standard library's source so that final_rust_toolchain has all stdlibs being built before building a normal rust library

This CL only focuses on arm64. A follow-up CL will add rust toolchain for the remaining device targets.

Test: b build //build/bazel/examples/rust:all --config=android
Bug: 295918553
Change-Id: I0cf9f1c236380ffa7885e8a566da778fd1ad8d8e
9 files changed
tree: 16e0ede23db9df93a728e4b5e75cd98949000322
  1. api_surfaces/
  2. bazel_sandwich/
  3. bin/
  4. ci/
  5. compliance/
  6. docs/
  7. examples/
  8. flags/
  9. json_module_graph/
  10. mk2rbc/
  11. mkcompare/
  12. platforms/
  13. product_config/
  14. rules/
  15. scripts/
  16. tests/
  17. toolchains/
  18. utils/
  19. vendor/
  20. .gitignore
  21. bazel.BUILD
  22. bazel.WORKSPACE
  23. buildifier_hook.sh
  24. common.bazelrc
  25. constants_exported_to_soong.bzl
  26. darwin.bazelrc
  27. linux.bazelrc
  28. OWNERS
  29. PREUPLOAD.cfg
  30. README.md
README.md

Bazel

The code in this directory is experimental. Bazel support for Android Platform is undergoing active development and workflow stability is currently not guaranteed.