diff --git a/WORKSPACE b/WORKSPACE
index a34cacf..6aa2053 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -56,6 +56,12 @@
 # Set up build_bazel_rules_nodejs.
 # Required by: pigweed.
 # Used in modules: //pw_web_ui.
+git_repository(
+    name = "platforms",
+    commit = "d4c9d7f51a7c403814b60f66d20eeb425fbaaacb",
+    remote = "https://github.com/bazelbuild/platforms.git",
+)
+
 http_archive(
     name = "build_bazel_rules_nodejs",
     sha256 = "4952ef879704ab4ad6729a29007e7094aef213ea79e9f2e94cbe1c9a753e63ef",
@@ -104,7 +110,7 @@
 # Used in modules: //pw_polyfill, //pw_build (all pw_cc* targets).
 git_repository(
     name = "bazel_embedded",
-    commit = "b8e1b66067ac54e86784479e5cde57c2ed88d099",
+    commit = "d4717a6e33b88cb9fe1b6663d78656728c49b5c8",
     remote = "https://github.com/silvergasp/bazel-embedded.git",
 )
 
diff --git a/docs/build_system.rst b/docs/build_system.rst
index 46aca57..54b7e65 100644
--- a/docs/build_system.rst
+++ b/docs/build_system.rst
@@ -154,6 +154,15 @@
 Of the supported build systems, GN is the most full-featured, followed by CMake,
 and finally Bazel.
 
+.. note::
+  A quick note on terminology: the word "target" is overloaded within GN/Bazel (and
+  Pigweed)---it can refer to either a GN/Bazel build target, such as a ``source_set``
+  or ``executable``, or to an output platform (e.g. a specific board, device, or
+  system).
+
+  To avoid confusing the two, we refer to the former as "GN/Bazel targets" and the
+  latter as "Pigweed targets".
+
 GN
 --
 A perhaps unfamiliar name, `GN (Generate Ninja)`_ is a meta-build system that
@@ -178,15 +187,6 @@
 
 .. _GN reference: https://gn.googlesource.com/gn/+/master/docs/reference.md
 
-.. note::
-  A quick note on terminology: the word "target" is overloaded within GN (and
-  Pigweed)---it can refer to either a GN build target, such as a ``source_set``
-  or ``executable``, or to an output platform (e.g. a specific board, device, or
-  system).
-
-  To avoid confusing the two, we refer to the former as "GN targets" and the
-  latter as "Pigweed targets".
-
 Entrypoint: .gn
 ---------------
 The entrypoint to a GN build is the ``.gn`` file, which defines a project's root
@@ -510,7 +510,6 @@
 
      out/stm32f429i_disc1_debug/obj/foo/bin/foo
 
-
 CMake
 -----
 A well-known name in C/C++ development, `CMake`_ is widely used by all kinds of
@@ -525,6 +524,10 @@
 various proprietary projects. Its modular structure makes it a great fit for
 à la carte usage.
 
+.. note::
+  Bazel support is experimental and only for the brave for now. If you are
+  looking for stable set of build API's please use GN.
+
 The Bazel build
 ===============
 This section describes Pigweed's Bazel build structure, how it is used upstream,
@@ -609,3 +612,423 @@
   .. code:: sh
 
     lcov --list bazel-out/_coverage/_coverage_report.dat
+
+Configuration
+-------------
+Generally speaking there are three primary concepts that make up Bazel's
+configuration API.
+
+1. Selects
+2. Compatibility lists
+3. Flags/Build settings
+
+Selects
+^^^^^^^
+Selects are useful for specifying different dependencies/source depending on the
+platform that is currently being targeted. For more information on this please
+see the `Bazel selects reference`_. e.g.
+
+.. code:: py
+
+  pw_cc_library(
+    name = "some_platform_dependant_library",
+    deps = select({
+      "@platforms//cpu:armv7e-m": [":arm_libs"],
+      "//conditions:default": [":host_libs"],
+    }),
+  )
+
+Compatibility lists
+^^^^^^^^^^^^^^^^^^^
+Compatibility lists allow you to specify which platforms your targets are
+compatible with. Consider an example where you want to specify that a target is
+compatible with only a host os;
+
+.. code:: py
+
+  pw_cc_library(
+    name = "some_host_only_lib",
+    srcs = ["host.cc"],
+    target_compatible_with = select({
+      "@platforms//os:windows": [],
+      "@platforms//os:linux": [],
+      "@platforms//os:macos": [],
+      "//conditions:default": ["@platforms//:incompatible"],
+    }),
+  )
+
+In this case building from or for either Windows/Linux/Mac will be supported, but
+other OS's will fail if this target is explicitly depended on. However if
+building with a wild card for a non-host platform this target will be skipped
+and the build will continue. e.g.
+
+.. code:: sh
+
+  bazel build //... --platforms=@pigweed//pw_build/platforms:cortex_m0
+
+This allows for you to easily create compatibility matricies without adversely
+affecting your ability build your entire repo for a given Pigweed target.
+For more detailed information on how to use the target_compatible_with attribute
+please see `Bazel target_compatible_with reference`_.
+
+Flags/build settings
+^^^^^^^^^^^^^^^^^^^^
+Flags/build settings are particularly useful in scenarios where you may want to
+be able to quickly inject a dependency from the command line but don't
+necessarily want to create an entirely new set of constraints to use with a
+select statement.
+
+.. note::
+  The scope for what is possible with build flags/settings goes well beyond
+  what will be described here. For more detailed information on flags/settings
+  please see `Bazel config reference`_.
+
+A simple example of when it is useful to use a label_flag is when you want to
+swap out a single dependency from the command line. e.g.
+
+.. code:: py
+
+  pw_cc_library(
+    name = "some_default_io",
+    srcs = ["default_io.cc"],
+  )
+
+  pw_cc_library(
+    name = "some_other_io",
+    srcs = ["other_io.cc"],
+  )
+
+  label_flag(
+    name = "io",
+    default_build_setting = ":some_default_io",
+  )
+
+  pw_cc_library(
+    name = "some_target_that_needs_io",
+    deps = [":io"],
+  )
+
+From here the label_flag by default redirects to the target ":some_default_io",
+however it is possible to override this from the command line. e.g.
+
+.. code:: sh
+
+  bazel build //:some_target_that_needs_io --//:io=//:some_other_io
+
+
+
+.. _Bazel selects reference: https://docs.bazel.build/versions/master/configurable-attributes.html#select-and-dependencies
+
+.. _Bazel target_compatible_with reference: https://docs.bazel.build/versions/master/platforms.html#skipping-incompatible-targets
+
+.. _Bazel config reference: https://docs.bazel.build/versions/master/skylark/config.html
+
+
+Pigweeds configuration
+^^^^^^^^^^^^^^^^^^^^^^
+Pigweeds Bazel configuration API is designed to be distributed across the
+Pigweed repository and/or your downstream repository. If you are coming from
+GN's centralized configuration API it might be useful to think about
+Pigweed+Bazel's configuration as the transpose of GN's configuration. The
+configuration interface that is supported by Pigweed is designed to start simple
+and then grow with your project.
+
+.. note::
+  There are plans to extend the configuration API for Bazel. However,
+  currently the only configurations that are available under the Bazel+Pigweed
+  configuration API is the ability to switch facade backends. For more
+  information on what this is please see the
+  :ref:`docs-module-structure-facades` section of :ref:`docs-module-structure`.
+
+Consider a scenario that you are building a flight controller for a
+spacecraft. But have very little experience with Pigweed and you have just
+landed here. First things first you would;
+
+1. Set up your WORKSPACE to fetch the Pigweeds repository. Then add the
+   dependencies that you need from Pigweeds WORKSPACE.
+
+2. Add a pigweed_config rule to your WORKSPACE, using Pigweed's default
+   configuration.
+
+  .. code:: py
+
+    # WORKSPACE ...
+    load("//pw_build:target_config.bzl", "pigweed_config")
+
+    # Configure Pigweeds backend.
+    pigweed_config(
+        name = "pigweed_config",
+        build_file = "@pigweed//targets:default_config.BUILD",
+    )
+
+.. note::
+  We are aware, that the experience of setting up your WORKSPACE file to work
+  with pigweed is less than ideal. This API is under construction, but we are
+  working on this!
+
+..
+  TODO: Add in a better way to pull down WORKSPACE dependencies in Bazel then
+  add docs in here.
+
+Now to explain what is going on here. Housed under the "pigweed_config" remote
+repository is a set of configuration flags. These can be used to inject
+dependencies into facades to override the default backend.
+
+Continuing on with our scenario, consider that you maybe want to try using the
+'//pw_chrono' module. So you create a target in your repository like so;
+
+.. code::
+
+  # BUILD
+  pw_cc_library(
+    name = "time_is_relative",
+    srcs = ["relative_time_on_earth.cc"],
+    deps = ["@pigweed//pw_chrono"],
+  )
+
+Now this should work out of the box for any host operating system. e.g. Running;
+
+.. code::
+
+  bazel build //:time_is_relative
+
+will produce a working library. But as your probably here because Pigweed offers
+a set of embedded libraries you might be interested in running your code on some
+random micro-controller/FPGA combined with an RTOS. For now let's assume that by
+some coincidence you are using FreeRTOS and are happy to make use
+of our default '//pw_chrono' backend for FreeRTOS. You could build the following
+with;
+
+.. code:: sh
+
+  bazel build //:time_is_relative \
+  --platforms=@pigweed//pw_build/platforms:freertos
+
+There is a fair bit to unpack here in terms of how our configuration system
+is determining which dependencies to choose for your build. The dependency
+tree (that is important for configuration) in a project such as this would
+look like.
+
+.. code::
+
+  @pigweed//pw_chrono:pw_chrono_facade <-----------.
+   ^                                               |
+   |                            @pigweed//pw_chrono_freertos:system_clock
+   |                            (Actual backend)
+   |                                               ^
+   |                                               |
+   |                            @pigweed//pw_chrono:backend_multiplexer
+   |                            Select backend based on OS:
+   |                            [FreeRTOS (X), Embos ( ), STL ( ), Threadx ( )]
+   |                                               ^
+   |                                               |
+  @pigweed//pw_chrono  -------> @pigweed_config//:pw_chrono_backend
+   ^                            (Injectable)
+   |
+  //:time_is_relative
+
+So when evaluating this setup Bazel checks the dependencies for '//pw_chrono'
+and finds that it depends on "@pigweed_config//:pw_chrono_backend" which looks
+like this;
+
+.. code:: py
+
+  # pw_chrono config.
+  label_flag(
+      name = "pw_chrono_backend",
+      build_setting_default = "@pigweed//pw_chrono:backend_multiplexer",
+  )
+
+Looking at the 'build_setting_default' we can see that by default it depends
+back on the target "@pigweed//pw_chrono:backend_multiplexer". If you only had one
+backend you could actually just change the 'build_setting_default' to point
+directly to your backend. However because we have four different backends we
+have to use the select semantics to choose the right one. In this case it looks
+like;
+
+.. code:: py
+
+  pw_cc_library(
+    name = "backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "@pigweed//pw_build/constraints/rtos:freertos":
+            ["//pw_chrono_freertos:system_clock"],
+        "@pigweed//pw_build/constraints/rtos:embos":
+            ["//pw_chrono_embos:system_clock"],
+        "@pigweed//pw_build/constraints/rtos:threadx":
+            ["//pw_chrono_threadx:system_clock"],
+        "//conditions:default": ["//pw_chrono_stl:system_clock"],
+    }),
+  )
+
+Intuitively you can see that the first option was selected, which terminates
+the configuration chain.
+
+Continuing on with our scenario let's say that you have read
+:ref:`docs-module-structure` and now want to implement your own backend for
+'//pw_chrono' using a hardware RTC. In this case you would create a new
+directory 'pw_chrono_my_hardware_rtc'. To ensure that your new backend compiles
+with the facade an easy and temporary way to override the dependency tree is
+to override the label flag in '@pigweed_config'. For example;
+
+.. code:: sh
+
+  bazel build //:time_is_relative \
+    --@pigweed_config//pw_chrono_backend=//pw_chrono_my_hardware_rtc:system_clock
+
+This temporarily modifies the build graph to look something like this;
+
+.. code::
+
+  @pigweed//pw_chrono:pw_chrono_facade <-----.
+   ^                                         |
+   |                      @your_workspace//pw_chrono_my_hardware_rtc:system_clock
+   |                      (Actual backend)
+   |                                         ^
+   |                                         |
+  @pigweed//pw_chrono  -> @pigweed_config//:pw_chrono_backend
+   ^                      (Injectable)
+   |
+  //:time_is_relative
+
+Now while this is a nice temporary change, but you might find yourself in need
+of a more permanent configuration. Particularly if you want to override multiple
+different backends. In other words if you had several backends to override, that
+would translate to several different command line flags (one for each override).
+This problem further compounds as you have multiple Pigweed targets all
+requiring different combinations of different backends as you can't even reuse
+your command line entries. Instead you would have to memorize the correct
+combination of backends for each of your targets.
+
+So continuing on with our scenario, let's say we add a backup micro-controller,
+to our spacecraft. But this backup computer doesn't have a hardware RTC. We
+still want to share the bulk of the code between the two computers but now we
+need two separate implementations for our pw_chrono facade. Let's say we choose
+to keep the primary flight computer using the hardware RTC and switch the backup
+computer over to use Pigweeds default FreeRTOS backend. In this case we might,
+want to do something similar to '@pigweed//pw_chrono:backend_multiplexer' and
+create selectable dependencies for the two different computers. Now because
+there are no default constraint_setting's that meet our requirements we are
+going to have to;
+
+1. Create a constraint_setting and a set of constraint_value's for the flight
+   computer. For example;
+
+  .. code:: py
+
+    # //platforms/flight_computer/BUILD
+    constraint_setting(
+      name = "flight_computer",
+    )
+
+    constraint_value(
+      name = "primary",
+      constraint_setting = ":flight_computer",
+    )
+
+    constraint_value(
+      name = "backup",
+      constraint_setting = ":flight_computer",
+    )
+
+2. Create a set of platforms that can be used to switch constraint_value's.
+   For example;
+
+  .. code:: py
+
+    # //platforms/BUILD
+    platform(
+      name = "primary_computer",
+      constraint_values = ["//platforms/flight_computer:primary"],
+    )
+
+    platform(
+      name = "backup_computer",
+      constraint_values = ["//platforms/flight_computer:backup"],
+    )
+
+3. Create a target multiplexer that will select the right backend depending on
+   which computer you are using. For example;
+
+  .. code:: py
+
+    # //pw_chrono/BUILD
+    load("//pw_build:pigweed.bzl", "pw_cc_library")
+
+    pw_cc_library(
+      name = "backend_multiplexer",
+      deps = select({
+        "//platforms/flight_computer:primary": [
+          "//pw_chrono_my_hardware_rtc:system_clock",
+        ],
+        "//platforms/flight_computer:backup": [
+          "@pigweed//pw_chrono_freertos:system_clock",
+        ],
+        "//conditions:default": [
+          "@pigweed//pw_chrono_stl:system_clock",
+        ],
+      }),
+    )
+
+4. Copy and paste across the target/default_config.BUILD across from the
+   Pigweed repository and modifying the build_setting_default for the target
+   'pw_chrono_backend' to point to your new backend_multiplexer target. For example;
+
+   This;
+
+  .. code:: py
+
+    # @pigweed//target:default_config.BUILD
+    label_flag(
+        name = "pw_chrono_backend",
+        build_setting_default = "@pigweed//pw_chrono:backend_multiplexer",
+    )
+
+  Becomes this;
+
+  .. code:: py
+
+    # @your_workspace//target:your_config.BUILD
+    label_flag(
+      name = "pw_chrono_backend",
+      build_setting_default =
+        "@your_workspace//pw_chrono:backend_multiplexer",
+    )
+
+5. Switch your workspace 'pigweed_config' rule over to use your custom config.
+
+  .. code:: py
+
+    # WORKSPACE
+    pigweed_config(
+      name = "pigweed_config",
+      build_file = "//target/your_config.BUILD",
+    )
+
+Building your target now will result in slightly different build graph. For
+example, running;
+
+.. code:: sh
+
+  bazel build //:time_is_relative --platforms=//platforms:primary_computer
+
+Will result in a build graph that looks like;
+
+.. code::
+
+  @pigweed//pw_chrono:pw_chrono_facade <---.
+   ^                                        |
+   |                     @your_workspace//pw_chrono_my_hardware_rtc:system_clock
+   |                     (Actual backend)
+   |                                        ^
+   |                                        |
+   |                     @your_workspace//pw_chrono:backend_multiplexer
+   |                     Select backend based on OS:
+   |                     [Primary (X), Backup ( ), Host only default ( )]
+   |                                        ^
+   |                                        |
+  @pigweed//pw_chrono -> @pigweed_config//:pw_chrono_backend
+   ^                     (Injectable)
+   |
+  //:time_is_relative
\ No newline at end of file
diff --git a/pw_allocator/BUILD b/pw_allocator/BUILD
index 8492751..1d36d76 100644
--- a/pw_allocator/BUILD
+++ b/pw_allocator/BUILD
@@ -32,6 +32,7 @@
     ],
     includes = ["public"],
     deps = [
+        "//pw_assert",
         "//pw_span",
         "//pw_status",
     ],
@@ -61,9 +62,11 @@
     hdrs = [
         "public/pw_allocator/freelist_heap.h",
     ],
+    includes = ["public"],
     deps = [
         ":block",
         ":freelist",
+        "//pw_log",
     ],
 )
 
diff --git a/pw_assert/BUILD b/pw_assert/BUILD
index d5af164..dff4701 100644
--- a/pw_assert/BUILD
+++ b/pw_assert/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
     "pw_cc_test",
 )
@@ -22,10 +23,7 @@
 
 licenses(["notice"])  # Apache License 2.0
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_ASSERT_BACKEND = "//pw_assert_basic"
-
-pw_cc_library(
+pw_cc_facade(
     name = "facade",
     hdrs = [
         "public/pw_assert/assert.h",
@@ -36,7 +34,6 @@
     ],
     includes = ["public"],
     deps = [
-        PW_ASSERT_BACKEND + ":headers",
         "//pw_preprocessor",
     ],
 )
@@ -45,16 +42,14 @@
     name = "pw_assert",
     deps = [
         ":facade",
-        PW_ASSERT_BACKEND + ":headers",
-        PW_ASSERT_BACKEND,
+        "@pigweed_config//:pw_assert_backend",
     ],
 )
 
 pw_cc_library(
-    name = "backend",
-    deps = [
-        PW_ASSERT_BACKEND,
-    ],
+    name = "backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = ["@pigweed//pw_assert_basic"],
 )
 
 pw_cc_test(
@@ -63,16 +58,16 @@
         "assert_facade_test.cc",
         "assert_test.cc",
         "fake_backend.cc",
-        "public/pw_assert/internal/assert_impl.h",
+        "public/pw_assert/internal/check_impl.h",
         "pw_assert_test/fake_backend.h",
     ],
     deps = [
         ":facade",
+        ":pw_assert",
         "//pw_preprocessor",
         "//pw_span",
         "//pw_string",
         "//pw_unit_test",
-        PW_ASSERT_BACKEND,
     ],
 )
 
@@ -83,8 +78,6 @@
         "assert_backend_compile_test_c.c",
     ],
     deps = [
-        ":backend",
-        ":facade",
         ":pw_assert",
         "//pw_unit_test",
     ],
diff --git a/pw_build/constraints/rtos/BUILD b/pw_build/constraints/rtos/BUILD
new file mode 100644
index 0000000..c1a49cf
--- /dev/null
+++ b/pw_build/constraints/rtos/BUILD
@@ -0,0 +1,68 @@
+# Copyright 2021 The Pigweed Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+package(default_visibility = ["//visibility:public"])
+
+constraint_setting(
+    name = "rtos",
+    default_constraint_value = "none",
+)
+
+constraint_value(
+    name = "none",
+    constraint_setting = ":rtos",
+)
+
+config_setting(
+    name = "none_setting",
+    flag_values = {
+        "@pigweed_config//:target_os": ":none",
+    },
+)
+
+constraint_value(
+    name = "embos",
+    constraint_setting = ":rtos",
+)
+
+config_setting(
+    name = "embos_setting",
+    flag_values = {
+        "@pigweed_config//:target_os": ":embos",
+    },
+)
+
+constraint_value(
+    name = "freertos",
+    constraint_setting = ":rtos",
+)
+
+config_setting(
+    name = "freertos_setting",
+    flag_values = {
+        "@pigweed_config//:target_os": ":freertos",
+    },
+)
+
+constraint_value(
+    name = "threadx",
+    constraint_setting = ":rtos",
+)
+
+config_setting(
+    name = "threadx_setting",
+    flag_values = {
+        "@pigweed_config//:target_os": ":threadx",
+    },
+)
diff --git a/pw_build/platforms/BUILD b/pw_build/platforms/BUILD
index a19a462..7bbc6a3 100644
--- a/pw_build/platforms/BUILD
+++ b/pw_build/platforms/BUILD
@@ -13,40 +13,77 @@
 # the License.
 package(default_visibility = ["//visibility:public"])
 
+# --- OS's ---
+platform(
+    name = "freertos",
+    constraint_values = [
+        "//pw_build/constraints/rtos:freertos",
+        "@platforms//os:none",
+    ],
+)
+
+platform(
+    name = "embos",
+    constraint_values = [
+        "//pw_build/constraints/rtos:embos",
+        "@platforms//os:none",
+    ],
+)
+
+platform(
+    name = "threadx",
+    constraint_values = [
+        "//pw_build/constraints/rtos:threadx",
+        "@platforms//os:none",
+    ],
+)
+
+platform(
+    name = "none",
+    constraint_values = ["@platforms//os:none"],
+)
+
 # --- CPU's ---
-alias(
+platform(
     name = "cortex_m0",
-    actual = "@bazel_embedded//platforms:cortex_m0",
+    constraint_values = ["@pigweed_config//:target_rtos"],
+    parents = ["@bazel_embedded//platforms:cortex_m0"],
 )
 
-alias(
+platform(
     name = "cortex_m1",
-    actual = "@bazel_embedded//platforms:cortex_m1",
+    constraint_values = ["@pigweed_config//:target_rtos"],
+    parents = ["@bazel_embedded//platforms:cortex_m1"],
 )
 
-alias(
+platform(
     name = "cortex_m3",
-    actual = "@bazel_embedded//platforms:cortex_m3",
+    constraint_values = ["@pigweed_config//:target_rtos"],
+    parents = ["@bazel_embedded//platforms:cortex_m3"],
 )
 
-alias(
+platform(
     name = "cortex_m4",
-    actual = "@bazel_embedded//platforms:cortex_m4",
+    constraint_values = ["@pigweed_config//:target_rtos"],
+    parents = ["@bazel_embedded//platforms:cortex_m4"],
 )
 
-alias(
+platform(
     name = "cortex_m4_fpu",
-    actual = "@bazel_embedded//platforms:cortex_m4",
+    constraint_values = ["@pigweed_config//:target_rtos"],
+    parents = ["@bazel_embedded//platforms:cortex_m4"],
 )
 
-alias(
+platform(
     name = "cortex_m7",
-    actual = "@bazel_embedded//platforms:cortex_m7",
+    constraint_values = ["@pigweed_config//:target_rtos"],
+    parents = ["@bazel_embedded//platforms:cortex_m7"],
 )
 
-alias(
+platform(
     name = "cortex_m7_fpu",
-    actual = "@bazel_embedded//platforms:cortex_m7_fpu",
+    constraint_values = ["@pigweed_config//:target_rtos"],
+    parents = ["@bazel_embedded//platforms:cortex_m7_fpu"],
 )
 
 # --- Chipsets ---
diff --git a/pw_build/selects.bzl b/pw_build/selects.bzl
new file mode 100644
index 0000000..732ac32
--- /dev/null
+++ b/pw_build/selects.bzl
@@ -0,0 +1,31 @@
+# Copyright 2021 The Pigweed Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+_RTOS_NONE = "//pw_build/constraints/rtos:none"
+
+# Common select for tagging a target as only compatible with host OS's. This
+# select implements the logic '(Windows or Macos or Linux) and not RTOS'.
+# Example usage:
+#   load("//pw_build:selects.bzl","TARGET_COMPATIBLE_WITH_HOST_SELECT")
+#   pw_cc_library(
+#       name = "some_host_only_lib",
+#       hdrs = ["host.h"],
+#       target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
+#   )
+TARGET_COMPATIBLE_WITH_HOST_SELECT = {
+    "@platforms//os:windows": [_RTOS_NONE],
+    "@platforms//os:macos": [_RTOS_NONE],
+    "@platforms//os:linux": [_RTOS_NONE],
+    "//conditions:default": ["@platforms//:incompatible"],
+}
diff --git a/pw_chrono/BUILD b/pw_chrono/BUILD
index cce73aa..d4d7860 100644
--- a/pw_chrono/BUILD
+++ b/pw_chrono/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
     "pw_cc_test",
 )
@@ -22,9 +23,6 @@
 
 licenses(["notice"])  # Apache License 2.0
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_CHRONO_SYSTEM_CLOCK_BACKEND = "//pw_chrono_stl:system_clock"
-
 pw_cc_library(
     name = "epoch",
     hdrs = [
@@ -33,11 +31,8 @@
     includes = ["public"],
 )
 
-pw_cc_library(
+pw_cc_facade(
     name = "system_clock_facade",
-    srcs = [
-        "system_clock.cc",
-    ],
     hdrs = [
         "public/pw_chrono/internal/system_clock_macros.h",
         "public/pw_chrono/system_clock.h",
@@ -45,24 +40,30 @@
     includes = ["public"],
     deps = [
         ":epoch",
-        PW_CHRONO_SYSTEM_CLOCK_BACKEND + "_headers",
         "//pw_preprocessor",
     ],
 )
 
 pw_cc_library(
     name = "system_clock",
+    srcs = [
+        "system_clock.cc",
+    ],
     deps = [
         ":system_clock_facade",
-        PW_CHRONO_SYSTEM_CLOCK_BACKEND + "_headers",
+        "@pigweed_config//:pw_chrono_backend",
     ],
 )
 
 pw_cc_library(
-    name = "system_clock_backend",
-    deps = [
-        PW_CHRONO_SYSTEM_CLOCK_BACKEND,
-    ],
+    name = "backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "//pw_build/constraints/rtos:freertos": ["//pw_chrono_freertos:system_clock"],
+        "//pw_build/constraints/rtos:embos": ["//pw_chrono_embos:system_clock"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_chrono_threadx:system_clock"],
+        "//conditions:default": ["//pw_chrono_stl:system_clock"],
+    }),
 )
 
 pw_cc_library(
diff --git a/pw_chrono_embos/BUILD b/pw_chrono_embos/BUILD
index a65d083..f0d01a8 100644
--- a/pw_chrono_embos/BUILD
+++ b/pw_chrono_embos/BUILD
@@ -33,6 +33,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         "//pw_chrono:epoch",
     ],
@@ -43,10 +46,11 @@
     srcs = [
         "system_clock.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         ":system_clock_headers",
         "//pw_chrono:system_clock_facade",
-        # TODO(pwbug/317): This should depend on embOS but our third parties
-        # currently do not have Bazel support.
     ],
 )
diff --git a/pw_chrono_freertos/BUILD b/pw_chrono_freertos/BUILD
index 6c65913..1b71337 100644
--- a/pw_chrono_freertos/BUILD
+++ b/pw_chrono_freertos/BUILD
@@ -33,6 +33,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         "//pw_chrono:epoch",
     ],
@@ -43,6 +46,9 @@
     srcs = [
         "system_clock.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         ":system_clock_headers",
         "//pw_chrono:system_clock_facade",
diff --git a/pw_chrono_stl/BUILD b/pw_chrono_stl/BUILD
index e1abacf..a015e0f 100644
--- a/pw_chrono_stl/BUILD
+++ b/pw_chrono_stl/BUILD
@@ -16,6 +16,10 @@
     "//pw_build:pigweed.bzl",
     "pw_cc_library",
 )
+load(
+    "//pw_build:selects.bzl",
+    "TARGET_COMPATIBLE_WITH_HOST_SELECT",
+)
 
 package(default_visibility = ["//visibility:public"])
 
@@ -40,6 +44,7 @@
 
 pw_cc_library(
     name = "system_clock",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":system_clock_headers",
         "//pw_chrono:system_clock_facade",
diff --git a/pw_chrono_threadx/BUILD b/pw_chrono_threadx/BUILD
index 0920cfb..ad0d83d 100644
--- a/pw_chrono_threadx/BUILD
+++ b/pw_chrono_threadx/BUILD
@@ -33,6 +33,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         "//pw_chrono:epoch",
     ],
@@ -43,6 +46,9 @@
     srcs = [
         "system_clock.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         ":system_clock_headers",
         "//pw_chrono:system_clock_facade",
diff --git a/pw_interrupt/BUILD b/pw_interrupt/BUILD
index b25443e..9b6135b 100644
--- a/pw_interrupt/BUILD
+++ b/pw_interrupt/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
 )
 
@@ -21,34 +22,42 @@
 
 licenses(["notice"])  # Apache License 2.0
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_INTERRUPT_CONTEXT_BACKEND = "//pw_interrupt_context_cortex_m:context_armv7m"
-
-pw_cc_library(
+pw_cc_facade(
     name = "context_facade",
-    srcs = [
-        "context.cc",
-    ],
     hdrs = [
         "public/pw_interrupt/context.h",
     ],
     includes = ["public"],
-    deps = [
-        PW_INTERRUPT_CONTEXT_BACKEND + "_headers",
-    ],
 )
 
 pw_cc_library(
     name = "context",
     deps = [
         ":context_facade",
-        PW_INTERRUPT_CONTEXT_BACKEND + "_headers",
+        "@pigweed_config//:pw_interrupt_backend",
     ],
 )
 
 pw_cc_library(
-    name = "context_backend",
-    deps = [
-        PW_INTERRUPT_CONTEXT_BACKEND,
-    ],
+    name = "backend_multiplexer",
+    # Normally this would be done in the backend packages but because there is
+    # no host implementation we have to define this here.
+    target_compatible_with = select({
+        "@platforms//cpu:armv7-m": [],
+        "@platforms//cpu:armv7e-m": [],
+        "@platforms//cpu:armv8-m": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "@platforms//cpu:armv7-m": ["//pw_interrupt_cortex_m:context_armv7m"],
+        "@platforms//cpu:armv7e-m": ["//pw_interrupt_cortex_m:context_armv7m"],
+        "@platforms//cpu:armv8-m": ["//pw_interrupt_cortex_m:context_armv8m"],
+        # This is required for this to be a valid select when building for the
+        # host i.e. 'bazel build //pw_interrupt/...'. The
+        # target_compatible_with attribute is used to skip this target when
+        # built with a wildcard. If explicitly depended on for a host build
+        # the build will fail.
+        "//conditions:default": [],
+    }),
 )
diff --git a/pw_log/BUILD b/pw_log/BUILD
index 723f75d..d76a685 100644
--- a/pw_log/BUILD
+++ b/pw_log/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
     "pw_cc_test",
 )
@@ -22,10 +23,7 @@
 
 licenses(["notice"])  # Apache License 2.0
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_LOG_BACKEND = "//pw_log_basic"
-
-pw_cc_library(
+pw_cc_facade(
     name = "facade",
     hdrs = [
         "public/pw_log/levels.h",
@@ -36,7 +34,6 @@
     ],
     includes = ["public"],
     deps = [
-        PW_LOG_BACKEND + ":headers",
         "//pw_preprocessor",
     ],
 )
@@ -45,15 +42,14 @@
     name = "pw_log",
     deps = [
         ":facade",
-        PW_LOG_BACKEND + ":headers",
+        "@pigweed_config//:pw_log_backend",
     ],
 )
 
 pw_cc_library(
-    name = "backend",
-    deps = [
-        PW_LOG_BACKEND,
-    ],
+    name = "backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = ["//pw_log_basic"],
 )
 
 pw_cc_test(
@@ -63,7 +59,6 @@
         "basic_log_test_plain_c.c",
     ],
     deps = [
-        ":backend",
         ":facade",
         ":pw_log",
         "//pw_preprocessor",
diff --git a/pw_malloc/BUILD b/pw_malloc/BUILD
index b7548b0..d29726a 100644
--- a/pw_malloc/BUILD
+++ b/pw_malloc/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
 )
 
@@ -21,31 +22,24 @@
 
 licenses(["notice"])  # Apache License 2.0
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_MALLOC_BACKEND = "//pw_malloc_freelist"
-
-pw_cc_library(
+pw_cc_facade(
     name = "facade",
     hdrs = [
         "public/pw_malloc/malloc.h",
     ],
     includes = ["public"],
-    deps = [
-        PW_MALLOC_BACKEND + ":headers",
-    ],
 )
 
 pw_cc_library(
     name = "pw_malloc",
     deps = [
         ":facade",
-        PW_MALLOC_BACKEND + ":headers",
+        "@pigweed_config//:pw_malloc_backend",
     ],
 )
 
 pw_cc_library(
-    name = "backend",
-    deps = [
-        PW_MALLOC_BACKEND,
-    ],
+    name = "backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = ["//pw_malloc_freelist"],
 )
diff --git a/pw_malloc_freelist/BUILD b/pw_malloc_freelist/BUILD
index c3ca117..c0aaa11 100644
--- a/pw_malloc_freelist/BUILD
+++ b/pw_malloc_freelist/BUILD
@@ -39,21 +39,22 @@
     ],
     deps = [
         ":headers",
-        "//dir_pw_allocator:block",
-        "//dir_pw_allocator:freelist_heap",
-        "//dir_pw_boot_armv7m",
-        "//dir_pw_malloc:facade",
-        "//dir_pw_preprocessor",
+        "//pw_allocator:block",
+        "//pw_allocator:freelist_heap",
+        "//pw_boot_armv7m",
+        "//pw_malloc:facade",
+        "//pw_preprocessor",
     ],
 )
 
 pw_cc_test(
-    name = "freelist_malloctest",
+    name = "freelist_malloc_test",
     srcs = [
         "freelist_malloc_test.cc",
     ],
     deps = [
         ":headers",
+        ":pw_malloc_freelist",
         "//pw_unit_test",
     ],
 )
diff --git a/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py b/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
index 1c5a917..10dcf1a 100755
--- a/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
+++ b/pw_presubmit/py/pw_presubmit/pigweed_presubmit.py
@@ -214,27 +214,37 @@
 # TODO: Slowly add modules here that work with bazel until all
 # modules are added. Then replace with //...
 _MODULES_THAT_WORK_WITH_BAZEL = [
+    "//pw_allocator/...",
+    "//pw_assert/...",
     '//pw_assert_basic/...',
     '//pw_base64/...',
     '//pw_build/...',
+    '//pw_chrono/...',
     '//pw_chrono_stl/...',
     '//pw_containers/...',
     '//pw_cpu_exception/...',
     '//pw_docgen/...',
     '//pw_doctor/...',
     '//pw_i2c/...',
+    '//pw_interrupt/...',
     '//pw_log/...',
     '//pw_log_basic/...',
+    '//pw_malloc/...',
+    '//pw_malloc_freelist/...',
     '//pw_polyfill/...',
     '//pw_preprocessor/...',
     '//pw_protobuf_compiler/...',
     '//pw_span/...',
     '//pw_status/...',
     '//pw_stream/...',
+    "//pw_sync/...",
+    "//pw_sync_stl/...",
     '//pw_sys_io/...',
     '//pw_sys_io_baremetal_lm3s6965evb/...',
     '//pw_sys_io_stdio/...',
+    '//pw_thread/...',
     '//pw_thread_stl/...',
+    '//pw_tokenizer/...',
     '//pw_toolchain/...',
     '//pw_varint/...',
     '//pw_web_ui/...',
diff --git a/pw_sync/BUILD b/pw_sync/BUILD
index 11e793a..6b63e1f 100644
--- a/pw_sync/BUILD
+++ b/pw_sync/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
     "pw_cc_test",
 )
@@ -22,28 +23,13 @@
 
 licenses(["notice"])  # Apache License 2.0
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_SYNC_BINARY_SEMAPHORE_BACKEND = "//pw_sync_stl:binary_semaphore"
-
-PW_SYNC_COUNTING_SEMAPHORE_BACKEND = "//pw_sync_stl:counting_semaphore"
-
-PW_SYNC_MUTEX_BACKEND = "//pw_sync_stl:mutex"
-
-PW_SYNC_TIMED_MUTEX_BACKEND = "//pw_sync_stl:timed_mutex"
-
-PW_SYNC_INTERRUPT_SPIN_LOCK_BACKEND = "//pw_sync_stl:interrupt_spin_lock"
-
-pw_cc_library(
+pw_cc_facade(
     name = "binary_semaphore_facade",
-    srcs = [
-        "binary_semaphore.cc",
-    ],
     hdrs = [
         "public/pw_sync/binary_semaphore.h",
     ],
     includes = ["public"],
     deps = [
-        PW_SYNC_BINARY_SEMAPHORE_BACKEND + "_headers",
         "//pw_chrono:system_clock",
         "//pw_preprocessor",
     ],
@@ -51,30 +37,34 @@
 
 pw_cc_library(
     name = "binary_semaphore",
+    srcs = [
+        "binary_semaphore.cc",
+    ],
     deps = [
         ":binary_semaphore_facade",
-        PW_SYNC_BINARY_SEMAPHORE_BACKEND + "_headers",
+        "@pigweed_config//:pw_sync_binary_semaphore_backend",
     ],
 )
 
 pw_cc_library(
-    name = "binary_semaphore_backend",
-    deps = [
-        PW_SYNC_BINARY_SEMAPHORE_BACKEND,
-    ],
+    name = "binary_semaphore_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "@platforms//os:none": ["//pw_sync_baremetal:binary_semaphore"],
+        "//pw_build/constraints/rtos:embos": ["//pw_sync_embos:binary_semaphore"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_sync_freertos:binary_semaphore"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_sync_threadx:binary_semaphore"],
+        "//conditions:default": ["//pw_sync_stl:binary_semaphore"],
+    }),
 )
 
-pw_cc_library(
+pw_cc_facade(
     name = "counting_semaphore_facade",
-    srcs = [
-        "counting_semaphore.cc",
-    ],
     hdrs = [
         "public/pw_sync/counting_semaphore.h",
     ],
     includes = ["public"],
     deps = [
-        PW_SYNC_COUNTING_SEMAPHORE_BACKEND + "_headers",
         "//pw_chrono:system_clock",
         "//pw_preprocessor",
     ],
@@ -82,17 +72,25 @@
 
 pw_cc_library(
     name = "counting_semaphore",
+    srcs = [
+        "counting_semaphore.cc",
+    ],
     deps = [
         ":counting_semaphore_facade",
-        PW_SYNC_COUNTING_SEMAPHORE_BACKEND + "_headers",
+        "@pigweed_config//:pw_sync_counting_semaphore_backend",
     ],
 )
 
 pw_cc_library(
-    name = "counting_semaphore_backend",
-    deps = [
-        PW_SYNC_COUNTING_SEMAPHORE_BACKEND,
-    ],
+    name = "counting_semaphore_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "@platforms//os:none": ["//pw_sync_baremetal:counting_semaphore"],
+        "//pw_build/constraints/rtos:embos": ["//pw_sync_embos:counting_semaphore"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_sync_freertos:counting_semaphore"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_sync_threadx:counting_semaphore"],
+        "//conditions:default": ["//pw_sync_stl:counting_semaphore"],
+    }),
 )
 
 pw_cc_library(
@@ -106,11 +104,8 @@
     ],
 )
 
-pw_cc_library(
+pw_cc_facade(
     name = "mutex_facade",
-    srcs = [
-        "mutex.cc",
-    ],
     hdrs = [
         "public/pw_sync/mutex.h",
     ],
@@ -118,30 +113,34 @@
     deps = [
         ":lock_annotations",
         "//pw_preprocessor",
-        PW_SYNC_MUTEX_BACKEND + "_headers",
     ],
 )
 
 pw_cc_library(
     name = "mutex",
+    srcs = [
+        "mutex.cc",
+    ],
     deps = [
         ":mutex_facade",
-        PW_SYNC_MUTEX_BACKEND + "_headers",
+        "@pigweed_config//:pw_sync_mutex_backend",
     ],
 )
 
 pw_cc_library(
-    name = "mutex_backend",
-    deps = [
-        PW_SYNC_MUTEX_BACKEND,
-    ],
+    name = "mutex_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "@platforms//os:none": ["//pw_sync_baremetal:mutex"],
+        "//pw_build/constraints/rtos:embos": ["//pw_sync_embos:mutex"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_sync_freertos:mutex"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_sync_threadx:mutex"],
+        "//conditions:default": ["//pw_sync_stl:mutex"],
+    }),
 )
 
-pw_cc_library(
+pw_cc_facade(
     name = "timed_mutex_facade",
-    srcs = [
-        "timed_mutex.cc",
-    ],
     hdrs = [
         "public/pw_sync/timed_mutex.h",
     ],
@@ -151,30 +150,35 @@
         ":mutex_facade",
         "//pw_chrono:system_clock",
         "//pw_preprocessor",
-        PW_SYNC_TIMED_MUTEX_BACKEND + "_headers",
     ],
 )
 
 pw_cc_library(
     name = "timed_mutex",
-    deps = [
-        ":timed_mutex_facade",
-        PW_SYNC_TIMED_MUTEX_BACKEND + "_headers",
-    ],
-)
-
-pw_cc_library(
-    name = "timed_mutex_backend",
-    deps = [
-        PW_SYNC_TIMED_MUTEX_BACKEND,
-    ],
-)
-
-pw_cc_library(
-    name = "interrupt_spin_lock_facade",
     srcs = [
-        "interrupt_spin_lock.cc",
+        "timed_mutex.cc",
     ],
+    deps = [
+        ":mutex",
+        ":timed_mutex_facade",
+        "@pigweed_config//:pw_sync_timed_mutex_backend",
+    ],
+)
+
+pw_cc_library(
+    name = "timed_mutex_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "@platforms//os:none": ["//pw_sync_baremetal:timed_mutex"],
+        "//pw_build/constraints/rtos:embos": ["//pw_sync_embos:timed_mutex"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_sync_freertos:timed_mutex"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_sync_threadx:timed_mutex"],
+        "//conditions:default": ["//pw_sync_stl:timed_mutex"],
+    }),
+)
+
+pw_cc_facade(
+    name = "interrupt_spin_lock_facade",
     hdrs = [
         "public/pw_sync/interrupt_spin_lock.h",
     ],
@@ -182,23 +186,30 @@
     deps = [
         ":lock_annotations",
         "//pw_preprocessor",
-        PW_SYNC_INTERRUPT_SPIN_LOCK_BACKEND + "_headers",
     ],
 )
 
 pw_cc_library(
     name = "interrupt_spin_lock",
+    srcs = [
+        "interrupt_spin_lock.cc",
+    ],
     deps = [
         ":interrupt_spin_lock_facade",
-        PW_SYNC_INTERRUPT_SPIN_LOCK_BACKEND + "_headers",
+        "@pigweed_config//:pw_sync_interrupt_spin_lock_backend",
     ],
 )
 
 pw_cc_library(
-    name = "interrupt_spin_lock_backend",
-    deps = [
-        PW_SYNC_INTERRUPT_SPIN_LOCK_BACKEND,
-    ],
+    name = "interrupt_spin_lock_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "@platforms//os:none": ["//pw_sync_baremetal:interrupt_spin_lock"],
+        "//pw_build/constraints/rtos:embos": ["//pw_sync_embos:interrupt_spin_lock"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_sync_freertos:interrupt_spin_lock"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_sync_threadx:interrupt_spin_lock"],
+        "//conditions:default": ["//pw_sync_stl:interrupt_spin_lock"],
+    }),
 )
 
 pw_cc_library(
diff --git a/pw_sync_baremetal/BUILD b/pw_sync_baremetal/BUILD
index 16774df..69821e1 100644
--- a/pw_sync_baremetal/BUILD
+++ b/pw_sync_baremetal/BUILD
@@ -33,10 +33,12 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = ["@platforms//os:none"],
 )
 
 pw_cc_library(
     name = "interrupt_spin_lock",
+    target_compatible_with = ["@platforms//os:none"],
     deps = [
         ":interrupt_spin_lock_headers",
         "//pw_assert",
diff --git a/pw_sync_embos/BUILD b/pw_sync_embos/BUILD
index 1a18120..d03e39c 100644
--- a/pw_sync_embos/BUILD
+++ b/pw_sync_embos/BUILD
@@ -33,6 +33,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         # TODO(pwbug/317): This should depend on embOS but our third parties
         # currently do not have Bazel support.
@@ -46,6 +49,9 @@
     srcs = [
         "binary_semaphore.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         ":binary_semaphore_headers",
         "//pw_interrupt:context",
@@ -65,6 +71,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         # TODO(pwbug/317): This should depend on embOS but our third parties
         # currently do not have Bazel support.
@@ -78,6 +87,9 @@
     srcs = [
         "counting_semaphore.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         ":counting_semaphore_headers",
         "//pw_interrupt:context",
@@ -97,6 +109,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         # TODO(pwbug/317): This should depend on embOS but our third parties
         # currently do not have Bazel support.
@@ -106,6 +121,9 @@
 
 pw_cc_library(
     name = "mutex",
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         ":mutex_headers",
         "//pw_sync:mutex_facade",
@@ -122,6 +140,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         # TODO(pwbug/317): This should depend on embOS but our third parties
         # currently do not have Bazel support.
@@ -135,6 +156,9 @@
     srcs = [
         "timed_mutex.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         ":timed_mutex_headers",
         "//pw_chrono_embos:system_clock_headers",
@@ -155,6 +179,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     # TODO(pwbug/317): This should depend on embOS but our third parties
     # currently do not have Bazel support.
 )
@@ -164,6 +191,9 @@
     srcs = [
         "interrupt_spin_lock.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:embos",
+    ],
     deps = [
         ":interrupt_spin_lock_headers",
         "//pw_sync:interrupt_spin_lock_facade",
diff --git a/pw_sync_freertos/BUILD b/pw_sync_freertos/BUILD
index 7ad2759..ed0c7c1 100644
--- a/pw_sync_freertos/BUILD
+++ b/pw_sync_freertos/BUILD
@@ -33,6 +33,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         # TODO: This should depend on FreeRTOS but our third parties currently
         # do not have Bazel support.
@@ -46,6 +49,9 @@
     srcs = [
         "binary_semaphore.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         ":binary_semaphore_headers",
         "//pw_interrupt:context",
@@ -65,6 +71,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         # TODO: This should depend on FreeRTOS but our third parties currently
         # do not have Bazel support.
@@ -78,6 +87,9 @@
     srcs = [
         "counting_semaphore.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         ":counting_semaphore_headers",
         "//pw_interrupt:context",
@@ -97,6 +109,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         # TODO: This should depend on FreeRTOS but our third parties currently
         # do not have Bazel support.
@@ -106,6 +121,9 @@
 
 pw_cc_library(
     name = "mutex",
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         ":mutex_headers",
         "//pw_sync:mutex_facade",
@@ -122,6 +140,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         # TODO: This should depend on FreeRTOS but our third parties currently
         # do not have Bazel support.
@@ -136,6 +157,9 @@
     srcs = [
         "timed_mutex.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         ":timed_mutex_headers",
         "//pw_interrupt:context",
@@ -155,6 +179,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     # TODO: This should depend on FreeRTOS but our third parties currently
     # do not have Bazel support.
 )
@@ -164,6 +191,9 @@
     srcs = [
         "interrupt_spin_lock.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:freertos",
+    ],
     deps = [
         ":interrupt_spin_lock_headers",
         "//pw_interrupt:context",
diff --git a/pw_sync_stl/BUILD b/pw_sync_stl/BUILD
index c2f39a7..8235f15 100644
--- a/pw_sync_stl/BUILD
+++ b/pw_sync_stl/BUILD
@@ -16,6 +16,10 @@
     "//pw_build:pigweed.bzl",
     "pw_cc_library",
 )
+load(
+    "//pw_build:selects.bzl",
+    "TARGET_COMPATIBLE_WITH_HOST_SELECT",
+)
 
 package(default_visibility = ["//visibility:public"])
 
@@ -33,6 +37,7 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         "//pw_chrono:system_clock",
     ],
@@ -43,8 +48,10 @@
     srcs = [
         "binary_semaphore.cc",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":binary_semaphore_headers",
+        "//pw_assert",
         "//pw_chrono:system_clock",
         "//pw_sync:binary_semaphore_facade",
     ],
@@ -62,6 +69,7 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         "//pw_chrono:system_clock",
     ],
@@ -72,8 +80,10 @@
     srcs = [
         "counting_semaphore.cc",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":counting_semaphore_headers",
+        "//pw_assert",
         "//pw_chrono:system_clock",
         "//pw_sync:counting_semaphore_facade",
     ],
@@ -91,13 +101,12 @@
         "public",
         "public_overrides",
     ],
-    deps = [
-        "//pw_sync:mutex_facade",
-    ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
 )
 
 pw_cc_library(
     name = "mutex",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":mutex_headers",
         "//pw_sync:mutex_facade",
@@ -114,14 +123,15 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         "//pw_chrono:system_clock",
-        "//pw_sync:timed_mutex_facade",
     ],
 )
 
 pw_cc_library(
     name = "timed_mutex",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":timed_mutex_headers",
         "//pw_sync:timed_mutex_facade",
@@ -140,10 +150,15 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
+    deps = [
+        "//pw_sync:yield_core",
+    ],
 )
 
 pw_cc_library(
     name = "interrupt_spin_lock",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":interrupt_spin_lock_headers",
         "//pw_sync:interrupt_spin_lock_facade",
diff --git a/pw_sync_threadx/BUILD b/pw_sync_threadx/BUILD
index b9129f9..ca58c46 100644
--- a/pw_sync_threadx/BUILD
+++ b/pw_sync_threadx/BUILD
@@ -33,6 +33,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         # TODO: This should depend on ThreadX but our third parties currently
         # do not have Bazel support.
@@ -45,6 +48,9 @@
     srcs = [
         "binary_semaphore.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         ":binary_semaphore_headers",
         "//pw_chrono_threadx:system_clock_headers",
@@ -65,6 +71,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         # TODO: This should depend on ThreadX but our third parties currently
         # do not have Bazel support.
@@ -77,6 +86,9 @@
     srcs = [
         "counting_semaphore.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         ":counting_semaphore_headers",
         "//pw_chrono_threadx:system_clock_headers",
@@ -97,6 +109,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         # TODO: This should depend on ThreadX but our third parties currently
         # do not have Bazel support.
@@ -106,6 +121,9 @@
 
 pw_cc_library(
     name = "mutex",
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         ":mutex_headers",
         "//pw_sync:mutex_facade",
@@ -122,6 +140,9 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         # TODO: This should depend on ThreadX but our third parties currently
         # do not have Bazel support.
@@ -135,6 +156,9 @@
     srcs = [
         "timed_mutex.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         ":timed_mutex_headers",
         "//pw_chrono_threadx:system_clock_headers",
@@ -157,6 +181,9 @@
     ],
     # TODO: This should depend on ThreadX but our third parties currently
     # do not have Bazel support.
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
 )
 
 pw_cc_library(
@@ -164,6 +191,9 @@
     srcs = [
         "interrupt_spin_lock.cc",
     ],
+    target_compatible_with = [
+        "//pw_build/constraints/rtos:threadx",
+    ],
     deps = [
         ":interrupt_spin_lock_headers",
         "//pw_sync:interrupt_spin_lock_facade",
diff --git a/pw_sys_io/BUILD b/pw_sys_io/BUILD
index 11e8201..cf1ecc3 100644
--- a/pw_sys_io/BUILD
+++ b/pw_sys_io/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
 )
 
@@ -21,7 +22,7 @@
 
 licenses(["notice"])
 
-pw_cc_library(
+pw_cc_facade(
     name = "facade",
     hdrs = ["public/pw_sys_io/sys_io.h"],
     includes = ["public"],
@@ -48,8 +49,16 @@
         ":facade",
         "//pw_span",
         "//pw_status",
-        # For now, hard-code to depend on stdio until bazel build is updated
-        # to support multiple target configurations.
-        "//pw_sys_io_stdio",
+        "@pigweed_config//:pw_sys_io_backend",
     ],
 )
+
+pw_cc_library(
+    name = "backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "//pw_build/constraints/chipset:stm32f429": ["@pigweed//pw_sys_io_baremetal_stm32f429"],
+        "//pw_build/constraints/chipset:lm3s6965evb": ["@pigweed//pw_sys_io_baremetal_lm3s6965evb"],
+        "//conditions:default": ["@pigweed//pw_sys_io_stdio"],
+    }),
+)
diff --git a/pw_sys_io_baremetal_lm3s6965evb/BUILD b/pw_sys_io_baremetal_lm3s6965evb/BUILD
index 78bb467..6e6dc73 100644
--- a/pw_sys_io_baremetal_lm3s6965evb/BUILD
+++ b/pw_sys_io_baremetal_lm3s6965evb/BUILD
@@ -25,8 +25,12 @@
     name = "pw_sys_io_baremetal_lm3s6965evb",
     srcs = ["sys_io_baremetal.cc"],
     hdrs = ["public/pw_sys_io_baremetal_lm3s6965evb/init.h"],
+    target_compatible_with = [
+        "//pw_build/constraints/chipset:lm3s6965evb",
+        "@platforms//os:none",
+    ],
     deps = [
         "//pw_preprocessor",
-        "//pw_sys_io",
+        "//pw_sys_io:facade",
     ],
 )
diff --git a/pw_sys_io_baremetal_stm32f429/BUILD b/pw_sys_io_baremetal_stm32f429/BUILD
index 80b0280..9edd4e6 100644
--- a/pw_sys_io_baremetal_stm32f429/BUILD
+++ b/pw_sys_io_baremetal_stm32f429/BUILD
@@ -26,7 +26,8 @@
     srcs = ["sys_io_baremetal.cc"],
     hdrs = ["public/pw_sys_io_baremetal_stm32f429/init.h"],
     target_compatible_with = [
-        "//pw_build/constraints/boards:stm32f429i-disc1",
+        "//pw_build/constraints/chipset:stm32f429",
+        "@platforms//os:none",
     ],
     deps = [
         "//pw_boot_armv7m",
diff --git a/pw_sys_io_stdio/BUILD b/pw_sys_io_stdio/BUILD
index 333bd54..6741bbb 100644
--- a/pw_sys_io_stdio/BUILD
+++ b/pw_sys_io_stdio/BUILD
@@ -16,6 +16,10 @@
     "//pw_build:pigweed.bzl",
     "pw_cc_library",
 )
+load(
+    "//pw_build:selects.bzl",
+    "TARGET_COMPATIBLE_WITH_HOST_SELECT",
+)
 
 package(default_visibility = ["//visibility:public"])
 
@@ -24,6 +28,7 @@
 pw_cc_library(
     name = "pw_sys_io_stdio",
     srcs = ["sys_io.cc"],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         "//pw_sys_io:default_putget_bytes",
         "//pw_sys_io:facade",
diff --git a/pw_thread/BUILD b/pw_thread/BUILD
index c2b67b1..9c8c456 100644
--- a/pw_thread/BUILD
+++ b/pw_thread/BUILD
@@ -14,6 +14,7 @@
 
 load(
     "//pw_build:pigweed.bzl",
+    "pw_cc_facade",
     "pw_cc_library",
     "pw_cc_test",
 )
@@ -22,52 +23,40 @@
 
 licenses(["notice"])  # Apache License 2.0
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_THREAD_ID_BACKEND = "//pw_thread_stl:id"
-
-PW_THREAD_SLEEP_BACKEND = "//pw_thread_stl:sleep"
-
-PW_THREAD_THREAD_BACKEND = "//pw_thread_stl:thread"
-
-PW_THREAD_YIELD_BACKEND = "//pw_thread_stl:yield"
-
-pw_cc_library(
+pw_cc_facade(
     name = "id_facade",
     hdrs = [
         "public/pw_thread/id.h",
     ],
     includes = ["public"],
-    deps = [
-        PW_THREAD_ID_BACKEND + "_headers",
-    ],
 )
 
 pw_cc_library(
     name = "id",
     deps = [
         ":id_facade",
-        PW_THREAD_ID_BACKEND + "_headers",
+        "@pigweed_config//:pw_thread_id_backend",
     ],
 )
 
 pw_cc_library(
-    name = "id_backend",
-    deps = [
-        PW_THREAD_ID_BACKEND,
-    ],
+    name = "id_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "//pw_build/constraints/rtos:embos": ["//pw_thread_embos:id"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_thread_freertos:id"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_thread_threadx:id"],
+        "//conditions:default": ["//pw_thread_stl:id"],
+    }),
 )
 
-pw_cc_library(
+pw_cc_facade(
     name = "sleep_facade",
-    srcs = [
-        "sleep.cc",
-    ],
     hdrs = [
         "public/pw_thread/sleep.h",
     ],
     includes = ["public"],
     deps = [
-        PW_THREAD_SLEEP_BACKEND + "_headers",
         "//pw_chrono:system_clock",
         "//pw_preprocessor",
     ],
@@ -75,20 +64,28 @@
 
 pw_cc_library(
     name = "sleep",
+    srcs = [
+        "sleep.cc",
+    ],
     deps = [
+        ":id",
         ":sleep_facade",
-        PW_THREAD_SLEEP_BACKEND + "_headers",
+        "@pigweed_config//:pw_thread_sleep_backend",
     ],
 )
 
 pw_cc_library(
-    name = "sleep_backend",
-    deps = [
-        PW_THREAD_SLEEP_BACKEND,
-    ],
+    name = "sleep_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "//pw_build/constraints/rtos:embos": ["//pw_thread_embos:sleep"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_thread_freertos:sleep"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_thread_threadx:sleep"],
+        "//conditions:default": ["//pw_thread_stl:sleep"],
+    }),
 )
 
-pw_cc_library(
+pw_cc_facade(
     name = "thread_facade",
     hdrs = [
         "public/pw_thread/thread.h",
@@ -97,7 +94,6 @@
     includes = ["public"],
     deps = [
         ":id_facade",
-        PW_THREAD_THREAD_BACKEND + "_headers",
     ],
 )
 
@@ -107,17 +103,22 @@
         "thread.cc",
     ],
     deps = [
+        ":id",
         ":thread_core",
         ":thread_facade",
-        PW_THREAD_THREAD_BACKEND + "_headers",
+        "@pigweed_config//:pw_thread_thread_backend",
     ],
 )
 
 pw_cc_library(
-    name = "thread_backend",
-    deps = [
-        PW_THREAD_THREAD_BACKEND,
-    ],
+    name = "thread_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "//pw_build/constraints/rtos:embos": ["//pw_thread_embos:thread"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_thread_freertos:thread"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_thread_threadx:thread"],
+        "//conditions:default": ["//pw_thread_stl:thread"],
+    }),
 )
 
 pw_cc_library(
@@ -128,34 +129,38 @@
     includes = ["public"],
 )
 
-pw_cc_library(
+pw_cc_facade(
     name = "yield_facade",
-    srcs = [
-        "yield.cc",
-    ],
     hdrs = [
         "public/pw_thread/yield.h",
     ],
     includes = ["public"],
     deps = [
-        PW_THREAD_YIELD_BACKEND + "_headers",
         "//pw_preprocessor",
     ],
 )
 
 pw_cc_library(
     name = "yield",
+    srcs = [
+        "yield.cc",
+    ],
     deps = [
+        ":id",
         ":yield_facade",
-        PW_THREAD_YIELD_BACKEND + "_headers",
+        "@pigweed_config//:pw_thread_yield_backend",
     ],
 )
 
 pw_cc_library(
-    name = "yield_backend",
-    deps = [
-        PW_THREAD_YIELD_BACKEND,
-    ],
+    name = "yield_backend_multiplexer",
+    visibility = ["@pigweed_config//:__pkg__"],
+    deps = select({
+        "//pw_build/constraints/rtos:embos": ["//pw_thread_embos:yield"],
+        "//pw_build/constraints/rtos:freertos": ["//pw_thread_freertos:yield"],
+        "//pw_build/constraints/rtos:threadx": ["//pw_thread_threadx:yield"],
+        "//conditions:default": ["//pw_thread_stl:yield"],
+    }),
 )
 
 pw_cc_library(
diff --git a/pw_thread_stl/BUILD b/pw_thread_stl/BUILD
index 6403ef2..0555a08 100644
--- a/pw_thread_stl/BUILD
+++ b/pw_thread_stl/BUILD
@@ -17,6 +17,10 @@
     "pw_cc_library",
     "pw_cc_test",
 )
+load(
+    "//pw_build:selects.bzl",
+    "TARGET_COMPATIBLE_WITH_HOST_SELECT",
+)
 
 package(default_visibility = ["//visibility:public"])
 
@@ -34,10 +38,12 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
 )
 
 pw_cc_library(
     name = "id",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":id_headers",
         "//pw_thread:id_facade",
@@ -54,6 +60,7 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         "//pw_chrono:system_clock",
     ],
@@ -61,6 +68,7 @@
 
 pw_cc_library(
     name = "sleep",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":sleep_headers",
         "//pw_chrono:system_clock",
@@ -81,10 +89,12 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
 )
 
 pw_cc_library(
     name = "thread",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":thread_headers",
         "//pw_thread:thread_facade",
@@ -96,6 +106,7 @@
     srcs = [
         "test_threads.cc",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         "//pw_thread:test_threads_header",
         "//pw_thread:thread_facade",
@@ -104,6 +115,7 @@
 
 pw_cc_test(
     name = "thread_backend_test",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":test_threads",
         "//pw_thread:thread_facade_test",
@@ -120,10 +132,12 @@
         "public",
         "public_overrides",
     ],
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
 )
 
 pw_cc_library(
     name = "yield",
+    target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT),
     deps = [
         ":yield_headers",
         "//pw_thread:yield_facade",
diff --git a/pw_tokenizer/BUILD b/pw_tokenizer/BUILD
index 4b288be..49d2eea 100644
--- a/pw_tokenizer/BUILD
+++ b/pw_tokenizer/BUILD
@@ -12,6 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
+load("@rules_cc//cc:defs.bzl", "cc_binary")
 load(
     "//pw_build:pigweed.bzl",
     "pw_cc_binary",
@@ -53,14 +54,9 @@
     ],
 )
 
-# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
-PW_TOKENIZER_GLOBAL_HANDLER_BACKEND = "//pw_tokenizer:test_backend"
-
-PW_TOKENIZER_GLOBAL_HANDLER_WITH_PAYLOAD_BACKEND = "//pw_tokenizer:test_backend"
-
 pw_cc_library(
     name = "test_backend",
-    visibility = ["//visibility:private"],
+    visibility = ["@pigweed_config//:__pkg__"],
 )
 
 pw_cc_library(
@@ -69,7 +65,7 @@
     hdrs = ["public/pw_tokenizer/tokenize_to_global_handler.h"],
     deps = [
         ":pw_tokenizer",
-        PW_TOKENIZER_GLOBAL_HANDLER_BACKEND,
+        "@pigweed_config//:pw_tokenizer_global_handler_backend",
     ],
 )
 
@@ -79,7 +75,7 @@
     hdrs = ["public/pw_tokenizer/tokenize_to_global_handler_with_payload.h"],
     deps = [
         ":pw_tokenizer",
-        PW_TOKENIZER_GLOBAL_HANDLER_WITH_PAYLOAD_BACKEND,
+        "@pigweed_config//:pw_tokenizer_global_handler_with_payload_backend",
     ],
 )
 
@@ -93,6 +89,7 @@
     ],
     includes = ["public"],
     deps = [
+        ":pw_tokenizer",
         "//pw_base64",
         "//pw_preprocessor",
         "//pw_span",
@@ -124,8 +121,15 @@
     name = "generate_decoding_test_data",
     srcs = [
         "generate_decoding_test_data.cc",
-        "tokenize_test_fakes.cc",
     ],
+    target_compatible_with = select(
+        {
+            "@platforms//os:linux": [],
+            "@platforms//os:windows": [],
+            "@platforms//os:macos": [],
+            "//conditions:default": ["@platforms//:incompatible"],
+        },
+    ),
     deps = [
         ":decoder",
         ":pw_tokenizer",
@@ -155,7 +159,6 @@
         "argument_types_test.cc",
         "argument_types_test_c.c",
         "pw_tokenizer_private/argument_types_test.h",
-        "tokenize_test_fakes.cc",
     ],
     deps = [
         ":pw_tokenizer",
@@ -219,7 +222,6 @@
     srcs = [
         "hash_test.cc",
         "pw_tokenizer_private/generated_hash_test_cases.h",
-        "tokenize_test_fakes.cc",
     ],
     deps = [
         ":pw_tokenizer",
@@ -234,6 +236,8 @@
         "simple_tokenize_test.cc",
     ],
     deps = [
+        ":global_handler",
+        ":global_handler_with_payload",
         ":pw_tokenizer",
         "//pw_unit_test",
     ],
diff --git a/targets/default_config.BUILD b/targets/default_config.BUILD
index d6287ef..58fdba9 100644
--- a/targets/default_config.BUILD
+++ b/targets/default_config.BUILD
@@ -98,3 +98,8 @@
     name = "pw_sys_io_backend",
     build_setting_default = "@pigweed//pw_sys_io:backend_multiplexer",
 )
+
+label_flag(
+    name = "target_rtos",
+    build_setting_default = "@pigweed//pw_build/constraints/rtos:none",
+)
