aboutsummaryrefslogtreecommitdiff
path: root/pw_toolchain_bazel/docs.rst
diff options
context:
space:
mode:
Diffstat (limited to 'pw_toolchain_bazel/docs.rst')
-rw-r--r--pw_toolchain_bazel/docs.rst51
1 files changed, 46 insertions, 5 deletions
diff --git a/pw_toolchain_bazel/docs.rst b/pw_toolchain_bazel/docs.rst
index 9c885c14f..075dc3f7b 100644
--- a/pw_toolchain_bazel/docs.rst
+++ b/pw_toolchain_bazel/docs.rst
@@ -3,16 +3,57 @@
==================
pw_toolchain_bazel
==================
-This module provides building blocks for Bazel's ``cc_toolchain`` API in a way
-that increases modularity and reusability. While this module does NOT provide a
-hermetic toolchain, Pigweed does provide fully instantiated and supported
-toolchains as part of ``pw_toolchain``.
+
+.. pigweed-module::
+ :name: pw_toolchain_bazel
+ :tagline: Modular Bazel C/C++ toolchain API
+ :status: unstable
+ :languages: Starlark
+
+Assembling a complete, hermetic toolchain with Bazel using the native primitives
+can be quite challenging. Additionally, Bazel's native API for declaring C/C++
+toolchains doesn't inherently encourage modularity or reusability.
+
+``pw_toolchain_bazel`` provides a suite of building blocks that make the process
+of assembling a complete, hermetic toolchain significantly easier. The Bazel
+rules introduced by this module push the vast majority of a toolchain's
+declaration into build files, and encourages reusability through sharing of
+flag groups, tools, and toolchain feature implementations.
+
+While this module does **not** provide a hermetic toolchain, Pigweed provides
+`fully instantiated and supported toolchains <https://cs.opensource.google/pigweed/pigweed/+/main:pw_toolchain/host_clang/BUILD.bazel>`_
+that are a useful reference for building your own toolchain.
.. warning::
- This module is under construction and is subject to major breaking changes.
+ `b/309533028 <https://issues.pigweed.dev/309533028>`_\: This module is under
+ construction and is subject to major breaking changes.
+
+.. grid:: 1
+
+ .. grid-item-card:: :octicon:`info` API reference
+ :link: module-pw_toolchain_bazel-api
+ :link-type: ref
+ :class-item: sales-pitch-cta-primary
+
+ Detailed reference information about the pw_toolchain_bazel API.
+
+.. grid:: 1
+
+ .. grid-item-card:: :octicon:`file` Original SEED
+ :link: seed-0113
+ :link-type: ref
+ :class-item: sales-pitch-cta-secondary
+
+ SEED-0113: Add modular Bazel C/C++ toolchain API
------------
Dependencies
------------
This module is not permitted to have dependencies on other modules. When this
module stabilizes, it will be broken out into a separate repository.
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+
+ API reference <api>