toolchain: Support Kconfig-based C++ version selection

Enables automatic selection of the C++ standard flag (-std=c++XX)
based on the CONFIG_STD_CPP* Kconfig choice.

Supported versions: 98, 11, 14, 17, 20, 23.

Implemented by defining generic c++XX features in
toolchain/args/BUILD.bazel and using select on Kconfig in all
toolchains (including native_sim).

TAG=agy
CONV=66f377df-07e2-4b31-b652-bc93477153b4

Change-Id: I45fac3db579422c53880b1a9b0575baa1793651b
Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/438113
(cherry picked from commit 8074162f73105af00ba894e1f6a8fd96ca7399a0)
Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/440234
11 files changed
tree: 11e6d6d30893bf25c0975a612bf92329f54be58f
  1. .vscode/
  2. bazel/
  3. bazel_overlay/
  4. build_config/
  5. designs/
  6. docs/
  7. examples/
  8. modules/
  9. pw_tests/
  10. scripts/
  11. tests/
  12. third_party/
  13. toolchain/
  14. tools/
  15. ztests/
  16. .bazelignore
  17. .bazelrc
  18. .bazelversion
  19. .gitignore
  20. AUTHORS
  21. BUILD.bazel
  22. common.bazelrc
  23. CONTRIBUTING.md
  24. generate_diff.py
  25. LICENSE
  26. MODULE.bazel
  27. MODULE.bazel.lock
  28. naming.bzl
  29. OWNERS
  30. pigweed_dep.MODULE.bazel
  31. pw
  32. README.md
  33. setup.bzl
  34. workflows.json
  35. WORKSPACE
README.md

Zephyr-Bazel

The way this repository works is by overlaying itself on top of Zephyr to provide Bazel build capability to the underlying Zephyr repository.

Getting Started

User Guide

For more information on the architecture and internal design of Zephyr-Bazel, see the design documents in the designs folder of this repository: