Change PlatformConfiguration to only have a single target platform.

This is the actual situation that has existed and will continue to be supported: each ConfiguredTarget has a single target platform. When we update to support multi-platform builds, the configuration will be split at the top level so that each split still only sees a single target platform.

Multi-arch platforms (such as fat binaries) will need a single platform to represent the multi-arch situation, and rules will need to know how to handle generating and combining the proper single-target dependencies: this is the same situation we have currently.

Change-Id: I904d74d136c761fa9c8da329040dd20920db00b7

Closes #5755.

Change-Id: Icaa539fa864d005c754986f7c98dac1bb8dc7e35
PiperOrigin-RevId: 209939618
6 files changed
tree: 42611ffc8badb81e453225568b1c47bc159b010e
  1. .bazelci/
  2. examples/
  3. scripts/
  4. site/
  5. src/
  6. third_party/
  7. tools/
  8. .gitattributes
  9. .gitignore
  10. AUTHORS
  11. BUILD
  12. CHANGELOG.md
  13. CODEOWNERS
  14. combine_distfiles.py
  15. combine_distfiles_to_tar.sh
  16. compile.sh
  17. CONTRIBUTING.md
  18. CONTRIBUTORS
  19. distdir.bzl
  20. ISSUE_TEMPLATE.md
  21. LICENSE
  22. README.md
  23. WORKSPACE
README.md

Bazel

{Fast, Correct} - Choose two

Build and test software of any size, quickly and reliably.

  • Speed up your builds and tests: Bazel only rebuilds what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.

  • One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.

  • Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.

  • Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.

Getting Started

Documentation

Contributing to Bazel

See CONTRIBUTING.md

Build status

Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.