# Copyright 2022 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.

# Build args and lists for all modules in Pigweed.
#
# DO NOT EDIT! Generated by pw_build/generate_modules_lists.py.
#
# To add modules here, list them in PIGWEED_MODULES and build the
# update_modules target and commit the updated version of this file:
#
#   ninja -C out update_modules
#
# DO NOT IMPORT THIS FILE DIRECTLY!
#
# Import it through //build_overrides/pigweed.gni instead.

# Declare a build arg for each module.
declare_args() {
  dir_docker = get_path_info("../docker", "abspath")
  dir_pw_alignment = get_path_info("../pw_alignment", "abspath")
  dir_pw_allocator = get_path_info("../pw_allocator", "abspath")
  dir_pw_analog = get_path_info("../pw_analog", "abspath")
  dir_pw_android_toolchain = get_path_info("../pw_android_toolchain", "abspath")
  dir_pw_arduino_build = get_path_info("../pw_arduino_build", "abspath")
  dir_pw_assert = get_path_info("../pw_assert", "abspath")
  dir_pw_assert_basic = get_path_info("../pw_assert_basic", "abspath")
  dir_pw_assert_log = get_path_info("../pw_assert_log", "abspath")
  dir_pw_assert_tokenized = get_path_info("../pw_assert_tokenized", "abspath")
  dir_pw_assert_zephyr = get_path_info("../pw_assert_zephyr", "abspath")
  dir_pw_async = get_path_info("../pw_async", "abspath")
  dir_pw_async_basic = get_path_info("../pw_async_basic", "abspath")
  dir_pw_base64 = get_path_info("../pw_base64", "abspath")
  dir_pw_bloat = get_path_info("../pw_bloat", "abspath")
  dir_pw_blob_store = get_path_info("../pw_blob_store", "abspath")
  dir_pw_bluetooth = get_path_info("../pw_bluetooth", "abspath")
  dir_pw_bluetooth_hci = get_path_info("../pw_bluetooth_hci", "abspath")
  dir_pw_bluetooth_profiles =
      get_path_info("../pw_bluetooth_profiles", "abspath")
  dir_pw_boot = get_path_info("../pw_boot", "abspath")
  dir_pw_boot_cortex_m = get_path_info("../pw_boot_cortex_m", "abspath")
  dir_pw_build = get_path_info("../pw_build", "abspath")
  dir_pw_build_info = get_path_info("../pw_build_info", "abspath")
  dir_pw_build_mcuxpresso = get_path_info("../pw_build_mcuxpresso", "abspath")
  dir_pw_bytes = get_path_info("../pw_bytes", "abspath")
  dir_pw_checksum = get_path_info("../pw_checksum", "abspath")
  dir_pw_chrono = get_path_info("../pw_chrono", "abspath")
  dir_pw_chrono_embos = get_path_info("../pw_chrono_embos", "abspath")
  dir_pw_chrono_freertos = get_path_info("../pw_chrono_freertos", "abspath")
  dir_pw_chrono_stl = get_path_info("../pw_chrono_stl", "abspath")
  dir_pw_chrono_threadx = get_path_info("../pw_chrono_threadx", "abspath")
  dir_pw_chrono_zephyr = get_path_info("../pw_chrono_zephyr", "abspath")
  dir_pw_cli = get_path_info("../pw_cli", "abspath")
  dir_pw_compilation_testing =
      get_path_info("../pw_compilation_testing", "abspath")
  dir_pw_console = get_path_info("../pw_console", "abspath")
  dir_pw_containers = get_path_info("../pw_containers", "abspath")
  dir_pw_cpu_exception = get_path_info("../pw_cpu_exception", "abspath")
  dir_pw_cpu_exception_cortex_m =
      get_path_info("../pw_cpu_exception_cortex_m", "abspath")
  dir_pw_crypto = get_path_info("../pw_crypto", "abspath")
  dir_pw_digital_io = get_path_info("../pw_digital_io", "abspath")
  dir_pw_docgen = get_path_info("../pw_docgen", "abspath")
  dir_pw_doctor = get_path_info("../pw_doctor", "abspath")
  dir_pw_env_setup = get_path_info("../pw_env_setup", "abspath")
  dir_pw_file = get_path_info("../pw_file", "abspath")
  dir_pw_function = get_path_info("../pw_function", "abspath")
  dir_pw_fuzzer = get_path_info("../pw_fuzzer", "abspath")
  dir_pw_hdlc = get_path_info("../pw_hdlc", "abspath")
  dir_pw_hex_dump = get_path_info("../pw_hex_dump", "abspath")
  dir_pw_i2c = get_path_info("../pw_i2c", "abspath")
  dir_pw_i2c_mcuxpresso = get_path_info("../pw_i2c_mcuxpresso", "abspath")
  dir_pw_ide = get_path_info("../pw_ide", "abspath")
  dir_pw_interrupt = get_path_info("../pw_interrupt", "abspath")
  dir_pw_interrupt_cortex_m =
      get_path_info("../pw_interrupt_cortex_m", "abspath")
  dir_pw_interrupt_zephyr = get_path_info("../pw_interrupt_zephyr", "abspath")
  dir_pw_intrusive_ptr = get_path_info("../pw_intrusive_ptr", "abspath")
  dir_pw_kvs = get_path_info("../pw_kvs", "abspath")
  dir_pw_libc = get_path_info("../pw_libc", "abspath")
  dir_pw_log = get_path_info("../pw_log", "abspath")
  dir_pw_log_android = get_path_info("../pw_log_android", "abspath")
  dir_pw_log_basic = get_path_info("../pw_log_basic", "abspath")
  dir_pw_log_null = get_path_info("../pw_log_null", "abspath")
  dir_pw_log_rpc = get_path_info("../pw_log_rpc", "abspath")
  dir_pw_log_string = get_path_info("../pw_log_string", "abspath")
  dir_pw_log_tokenized = get_path_info("../pw_log_tokenized", "abspath")
  dir_pw_log_zephyr = get_path_info("../pw_log_zephyr", "abspath")
  dir_pw_malloc = get_path_info("../pw_malloc", "abspath")
  dir_pw_malloc_freelist = get_path_info("../pw_malloc_freelist", "abspath")
  dir_pw_metric = get_path_info("../pw_metric", "abspath")
  dir_pw_minimal_cpp_stdlib =
      get_path_info("../pw_minimal_cpp_stdlib", "abspath")
  dir_pw_module = get_path_info("../pw_module", "abspath")
  dir_pw_multisink = get_path_info("../pw_multisink", "abspath")
  dir_pw_package = get_path_info("../pw_package", "abspath")
  dir_pw_perf_test = get_path_info("../pw_perf_test", "abspath")
  dir_pw_persistent_ram = get_path_info("../pw_persistent_ram", "abspath")
  dir_pw_polyfill = get_path_info("../pw_polyfill", "abspath")
  dir_pw_preprocessor = get_path_info("../pw_preprocessor", "abspath")
  dir_pw_presubmit = get_path_info("../pw_presubmit", "abspath")
  dir_pw_protobuf = get_path_info("../pw_protobuf", "abspath")
  dir_pw_protobuf_compiler = get_path_info("../pw_protobuf_compiler", "abspath")
  dir_pw_random = get_path_info("../pw_random", "abspath")
  dir_pw_result = get_path_info("../pw_result", "abspath")
  dir_pw_ring_buffer = get_path_info("../pw_ring_buffer", "abspath")
  dir_pw_router = get_path_info("../pw_router", "abspath")
  dir_pw_rpc = get_path_info("../pw_rpc", "abspath")
  dir_pw_rpc_transport = get_path_info("../pw_rpc_transport", "abspath")
  dir_pw_rust = get_path_info("../pw_rust", "abspath")
  dir_pw_snapshot = get_path_info("../pw_snapshot", "abspath")
  dir_pw_software_update = get_path_info("../pw_software_update", "abspath")
  dir_pw_span = get_path_info("../pw_span", "abspath")
  dir_pw_spi = get_path_info("../pw_spi", "abspath")
  dir_pw_status = get_path_info("../pw_status", "abspath")
  dir_pw_stm32cube_build = get_path_info("../pw_stm32cube_build", "abspath")
  dir_pw_stream = get_path_info("../pw_stream", "abspath")
  dir_pw_string = get_path_info("../pw_string", "abspath")
  dir_pw_symbolizer = get_path_info("../pw_symbolizer", "abspath")
  dir_pw_sync = get_path_info("../pw_sync", "abspath")
  dir_pw_sync_baremetal = get_path_info("../pw_sync_baremetal", "abspath")
  dir_pw_sync_embos = get_path_info("../pw_sync_embos", "abspath")
  dir_pw_sync_freertos = get_path_info("../pw_sync_freertos", "abspath")
  dir_pw_sync_stl = get_path_info("../pw_sync_stl", "abspath")
  dir_pw_sync_threadx = get_path_info("../pw_sync_threadx", "abspath")
  dir_pw_sync_zephyr = get_path_info("../pw_sync_zephyr", "abspath")
  dir_pw_sys_io = get_path_info("../pw_sys_io", "abspath")
  dir_pw_sys_io_arduino = get_path_info("../pw_sys_io_arduino", "abspath")
  dir_pw_sys_io_baremetal_lm3s6965evb =
      get_path_info("../pw_sys_io_baremetal_lm3s6965evb", "abspath")
  dir_pw_sys_io_baremetal_stm32f429 =
      get_path_info("../pw_sys_io_baremetal_stm32f429", "abspath")
  dir_pw_sys_io_emcraft_sf2 =
      get_path_info("../pw_sys_io_emcraft_sf2", "abspath")
  dir_pw_sys_io_mcuxpresso = get_path_info("../pw_sys_io_mcuxpresso", "abspath")
  dir_pw_sys_io_pico = get_path_info("../pw_sys_io_pico", "abspath")
  dir_pw_sys_io_stdio = get_path_info("../pw_sys_io_stdio", "abspath")
  dir_pw_sys_io_stm32cube = get_path_info("../pw_sys_io_stm32cube", "abspath")
  dir_pw_sys_io_zephyr = get_path_info("../pw_sys_io_zephyr", "abspath")
  dir_pw_system = get_path_info("../pw_system", "abspath")
  dir_pw_target_runner = get_path_info("../pw_target_runner", "abspath")
  dir_pw_thread = get_path_info("../pw_thread", "abspath")
  dir_pw_thread_embos = get_path_info("../pw_thread_embos", "abspath")
  dir_pw_thread_freertos = get_path_info("../pw_thread_freertos", "abspath")
  dir_pw_thread_stl = get_path_info("../pw_thread_stl", "abspath")
  dir_pw_thread_threadx = get_path_info("../pw_thread_threadx", "abspath")
  dir_pw_thread_zephyr = get_path_info("../pw_thread_zephyr", "abspath")
  dir_pw_tls_client = get_path_info("../pw_tls_client", "abspath")
  dir_pw_tls_client_boringssl =
      get_path_info("../pw_tls_client_boringssl", "abspath")
  dir_pw_tls_client_mbedtls =
      get_path_info("../pw_tls_client_mbedtls", "abspath")
  dir_pw_tokenizer = get_path_info("../pw_tokenizer", "abspath")
  dir_pw_tool = get_path_info("../pw_tool", "abspath")
  dir_pw_toolchain = get_path_info("../pw_toolchain", "abspath")
  dir_pw_trace = get_path_info("../pw_trace", "abspath")
  dir_pw_trace_tokenized = get_path_info("../pw_trace_tokenized", "abspath")
  dir_pw_transfer = get_path_info("../pw_transfer", "abspath")
  dir_pw_unit_test = get_path_info("../pw_unit_test", "abspath")
  dir_pw_unit_test_zephyr = get_path_info("../pw_unit_test_zephyr", "abspath")
  dir_pw_varint = get_path_info("../pw_varint", "abspath")
  dir_pw_watch = get_path_info("../pw_watch", "abspath")
  dir_pw_web = get_path_info("../pw_web", "abspath")
  dir_pw_work_queue = get_path_info("../pw_work_queue", "abspath")
}

# Declare these as GN args in case this is imported in args.gni.
# Use a separate block so variables in the prior block can be used.
declare_args() {
  # A list with paths to all Pigweed module. DO NOT SET THIS BUILD ARGUMENT!
  pw_modules = [
    dir_docker,
    dir_pw_alignment,
    dir_pw_allocator,
    dir_pw_analog,
    dir_pw_android_toolchain,
    dir_pw_arduino_build,
    dir_pw_assert,
    dir_pw_assert_basic,
    dir_pw_assert_log,
    dir_pw_assert_tokenized,
    dir_pw_assert_zephyr,
    dir_pw_async,
    dir_pw_async_basic,
    dir_pw_base64,
    dir_pw_bloat,
    dir_pw_blob_store,
    dir_pw_bluetooth,
    dir_pw_bluetooth_hci,
    dir_pw_bluetooth_profiles,
    dir_pw_boot,
    dir_pw_boot_cortex_m,
    dir_pw_build,
    dir_pw_build_info,
    dir_pw_build_mcuxpresso,
    dir_pw_bytes,
    dir_pw_checksum,
    dir_pw_chrono,
    dir_pw_chrono_embos,
    dir_pw_chrono_freertos,
    dir_pw_chrono_stl,
    dir_pw_chrono_threadx,
    dir_pw_chrono_zephyr,
    dir_pw_cli,
    dir_pw_compilation_testing,
    dir_pw_console,
    dir_pw_containers,
    dir_pw_cpu_exception,
    dir_pw_cpu_exception_cortex_m,
    dir_pw_crypto,
    dir_pw_digital_io,
    dir_pw_docgen,
    dir_pw_doctor,
    dir_pw_env_setup,
    dir_pw_file,
    dir_pw_function,
    dir_pw_fuzzer,
    dir_pw_hdlc,
    dir_pw_hex_dump,
    dir_pw_i2c,
    dir_pw_i2c_mcuxpresso,
    dir_pw_ide,
    dir_pw_interrupt,
    dir_pw_interrupt_cortex_m,
    dir_pw_interrupt_zephyr,
    dir_pw_intrusive_ptr,
    dir_pw_kvs,
    dir_pw_libc,
    dir_pw_log,
    dir_pw_log_android,
    dir_pw_log_basic,
    dir_pw_log_null,
    dir_pw_log_rpc,
    dir_pw_log_string,
    dir_pw_log_tokenized,
    dir_pw_log_zephyr,
    dir_pw_malloc,
    dir_pw_malloc_freelist,
    dir_pw_metric,
    dir_pw_minimal_cpp_stdlib,
    dir_pw_module,
    dir_pw_multisink,
    dir_pw_package,
    dir_pw_perf_test,
    dir_pw_persistent_ram,
    dir_pw_polyfill,
    dir_pw_preprocessor,
    dir_pw_presubmit,
    dir_pw_protobuf,
    dir_pw_protobuf_compiler,
    dir_pw_random,
    dir_pw_result,
    dir_pw_ring_buffer,
    dir_pw_router,
    dir_pw_rpc,
    dir_pw_rpc_transport,
    dir_pw_rust,
    dir_pw_snapshot,
    dir_pw_software_update,
    dir_pw_span,
    dir_pw_spi,
    dir_pw_status,
    dir_pw_stm32cube_build,
    dir_pw_stream,
    dir_pw_string,
    dir_pw_symbolizer,
    dir_pw_sync,
    dir_pw_sync_baremetal,
    dir_pw_sync_embos,
    dir_pw_sync_freertos,
    dir_pw_sync_stl,
    dir_pw_sync_threadx,
    dir_pw_sync_zephyr,
    dir_pw_sys_io,
    dir_pw_sys_io_arduino,
    dir_pw_sys_io_baremetal_lm3s6965evb,
    dir_pw_sys_io_baremetal_stm32f429,
    dir_pw_sys_io_emcraft_sf2,
    dir_pw_sys_io_mcuxpresso,
    dir_pw_sys_io_pico,
    dir_pw_sys_io_stdio,
    dir_pw_sys_io_stm32cube,
    dir_pw_sys_io_zephyr,
    dir_pw_system,
    dir_pw_target_runner,
    dir_pw_thread,
    dir_pw_thread_embos,
    dir_pw_thread_freertos,
    dir_pw_thread_stl,
    dir_pw_thread_threadx,
    dir_pw_thread_zephyr,
    dir_pw_tls_client,
    dir_pw_tls_client_boringssl,
    dir_pw_tls_client_mbedtls,
    dir_pw_tokenizer,
    dir_pw_tool,
    dir_pw_toolchain,
    dir_pw_trace,
    dir_pw_trace_tokenized,
    dir_pw_transfer,
    dir_pw_unit_test,
    dir_pw_unit_test_zephyr,
    dir_pw_varint,
    dir_pw_watch,
    dir_pw_web,
    dir_pw_work_queue,
  ]

  # A list with all Pigweed module test groups. DO NOT SET THIS BUILD ARGUMENT!
  pw_module_tests = [
    "$dir_docker:tests",
    "$dir_pw_alignment:tests",
    "$dir_pw_allocator:tests",
    "$dir_pw_analog:tests",
    "$dir_pw_android_toolchain:tests",
    "$dir_pw_arduino_build:tests",
    "$dir_pw_assert:tests",
    "$dir_pw_assert_basic:tests",
    "$dir_pw_assert_log:tests",
    "$dir_pw_assert_tokenized:tests",
    "$dir_pw_assert_zephyr:tests",
    "$dir_pw_async:tests",
    "$dir_pw_async_basic:tests",
    "$dir_pw_base64:tests",
    "$dir_pw_bloat:tests",
    "$dir_pw_blob_store:tests",
    "$dir_pw_bluetooth:tests",
    "$dir_pw_bluetooth_hci:tests",
    "$dir_pw_bluetooth_profiles:tests",
    "$dir_pw_boot:tests",
    "$dir_pw_boot_cortex_m:tests",
    "$dir_pw_build:tests",
    "$dir_pw_build_info:tests",
    "$dir_pw_build_mcuxpresso:tests",
    "$dir_pw_bytes:tests",
    "$dir_pw_checksum:tests",
    "$dir_pw_chrono:tests",
    "$dir_pw_chrono_embos:tests",
    "$dir_pw_chrono_freertos:tests",
    "$dir_pw_chrono_stl:tests",
    "$dir_pw_chrono_threadx:tests",
    "$dir_pw_chrono_zephyr:tests",
    "$dir_pw_cli:tests",
    "$dir_pw_compilation_testing:tests",
    "$dir_pw_console:tests",
    "$dir_pw_containers:tests",
    "$dir_pw_cpu_exception:tests",
    "$dir_pw_cpu_exception_cortex_m:tests",
    "$dir_pw_crypto:tests",
    "$dir_pw_digital_io:tests",
    "$dir_pw_docgen:tests",
    "$dir_pw_doctor:tests",
    "$dir_pw_env_setup:tests",
    "$dir_pw_file:tests",
    "$dir_pw_function:tests",
    "$dir_pw_fuzzer:tests",
    "$dir_pw_hdlc:tests",
    "$dir_pw_hex_dump:tests",
    "$dir_pw_i2c:tests",
    "$dir_pw_i2c_mcuxpresso:tests",
    "$dir_pw_ide:tests",
    "$dir_pw_interrupt:tests",
    "$dir_pw_interrupt_cortex_m:tests",
    "$dir_pw_interrupt_zephyr:tests",
    "$dir_pw_intrusive_ptr:tests",
    "$dir_pw_kvs:tests",
    "$dir_pw_libc:tests",
    "$dir_pw_log:tests",
    "$dir_pw_log_android:tests",
    "$dir_pw_log_basic:tests",
    "$dir_pw_log_null:tests",
    "$dir_pw_log_rpc:tests",
    "$dir_pw_log_string:tests",
    "$dir_pw_log_tokenized:tests",
    "$dir_pw_log_zephyr:tests",
    "$dir_pw_malloc:tests",
    "$dir_pw_malloc_freelist:tests",
    "$dir_pw_metric:tests",
    "$dir_pw_minimal_cpp_stdlib:tests",
    "$dir_pw_module:tests",
    "$dir_pw_multisink:tests",
    "$dir_pw_package:tests",
    "$dir_pw_perf_test:tests",
    "$dir_pw_persistent_ram:tests",
    "$dir_pw_polyfill:tests",
    "$dir_pw_preprocessor:tests",
    "$dir_pw_presubmit:tests",
    "$dir_pw_protobuf:tests",
    "$dir_pw_protobuf_compiler:tests",
    "$dir_pw_random:tests",
    "$dir_pw_result:tests",
    "$dir_pw_ring_buffer:tests",
    "$dir_pw_router:tests",
    "$dir_pw_rpc:tests",
    "$dir_pw_rpc_transport:tests",
    "$dir_pw_rust:tests",
    "$dir_pw_snapshot:tests",
    "$dir_pw_software_update:tests",
    "$dir_pw_span:tests",
    "$dir_pw_spi:tests",
    "$dir_pw_status:tests",
    "$dir_pw_stm32cube_build:tests",
    "$dir_pw_stream:tests",
    "$dir_pw_string:tests",
    "$dir_pw_symbolizer:tests",
    "$dir_pw_sync:tests",
    "$dir_pw_sync_baremetal:tests",
    "$dir_pw_sync_embos:tests",
    "$dir_pw_sync_freertos:tests",
    "$dir_pw_sync_stl:tests",
    "$dir_pw_sync_threadx:tests",
    "$dir_pw_sync_zephyr:tests",
    "$dir_pw_sys_io:tests",
    "$dir_pw_sys_io_arduino:tests",
    "$dir_pw_sys_io_baremetal_lm3s6965evb:tests",
    "$dir_pw_sys_io_baremetal_stm32f429:tests",
    "$dir_pw_sys_io_emcraft_sf2:tests",
    "$dir_pw_sys_io_mcuxpresso:tests",
    "$dir_pw_sys_io_pico:tests",
    "$dir_pw_sys_io_stdio:tests",
    "$dir_pw_sys_io_stm32cube:tests",
    "$dir_pw_sys_io_zephyr:tests",
    "$dir_pw_system:tests",
    "$dir_pw_target_runner:tests",
    "$dir_pw_thread:tests",
    "$dir_pw_thread_embos:tests",
    "$dir_pw_thread_freertos:tests",
    "$dir_pw_thread_stl:tests",
    "$dir_pw_thread_threadx:tests",
    "$dir_pw_thread_zephyr:tests",
    "$dir_pw_tls_client:tests",
    "$dir_pw_tls_client_boringssl:tests",
    "$dir_pw_tls_client_mbedtls:tests",
    "$dir_pw_tokenizer:tests",
    "$dir_pw_tool:tests",
    "$dir_pw_toolchain:tests",
    "$dir_pw_trace:tests",
    "$dir_pw_trace_tokenized:tests",
    "$dir_pw_transfer:tests",
    "$dir_pw_unit_test:tests",
    "$dir_pw_unit_test_zephyr:tests",
    "$dir_pw_varint:tests",
    "$dir_pw_watch:tests",
    "$dir_pw_web:tests",
    "$dir_pw_work_queue:tests",
  ]

  # A list with all Pigweed modules docs groups. DO NOT SET THIS BUILD ARGUMENT!
  pw_module_docs = [
    "$dir_docker:docs",
    "$dir_pw_alignment:docs",
    "$dir_pw_allocator:docs",
    "$dir_pw_analog:docs",
    "$dir_pw_android_toolchain:docs",
    "$dir_pw_arduino_build:docs",
    "$dir_pw_assert:docs",
    "$dir_pw_assert_basic:docs",
    "$dir_pw_assert_log:docs",
    "$dir_pw_assert_tokenized:docs",
    "$dir_pw_assert_zephyr:docs",
    "$dir_pw_async:docs",
    "$dir_pw_async_basic:docs",
    "$dir_pw_base64:docs",
    "$dir_pw_bloat:docs",
    "$dir_pw_blob_store:docs",
    "$dir_pw_bluetooth:docs",
    "$dir_pw_bluetooth_hci:docs",
    "$dir_pw_bluetooth_profiles:docs",
    "$dir_pw_boot:docs",
    "$dir_pw_boot_cortex_m:docs",
    "$dir_pw_build:docs",
    "$dir_pw_build_info:docs",
    "$dir_pw_build_mcuxpresso:docs",
    "$dir_pw_bytes:docs",
    "$dir_pw_checksum:docs",
    "$dir_pw_chrono:docs",
    "$dir_pw_chrono_embos:docs",
    "$dir_pw_chrono_freertos:docs",
    "$dir_pw_chrono_stl:docs",
    "$dir_pw_chrono_threadx:docs",
    "$dir_pw_chrono_zephyr:docs",
    "$dir_pw_cli:docs",
    "$dir_pw_compilation_testing:docs",
    "$dir_pw_console:docs",
    "$dir_pw_containers:docs",
    "$dir_pw_cpu_exception:docs",
    "$dir_pw_cpu_exception_cortex_m:docs",
    "$dir_pw_crypto:docs",
    "$dir_pw_digital_io:docs",
    "$dir_pw_docgen:docs",
    "$dir_pw_doctor:docs",
    "$dir_pw_env_setup:docs",
    "$dir_pw_file:docs",
    "$dir_pw_function:docs",
    "$dir_pw_fuzzer:docs",
    "$dir_pw_hdlc:docs",
    "$dir_pw_hex_dump:docs",
    "$dir_pw_i2c:docs",
    "$dir_pw_i2c_mcuxpresso:docs",
    "$dir_pw_ide:docs",
    "$dir_pw_interrupt:docs",
    "$dir_pw_interrupt_cortex_m:docs",
    "$dir_pw_interrupt_zephyr:docs",
    "$dir_pw_intrusive_ptr:docs",
    "$dir_pw_kvs:docs",
    "$dir_pw_libc:docs",
    "$dir_pw_log:docs",
    "$dir_pw_log_android:docs",
    "$dir_pw_log_basic:docs",
    "$dir_pw_log_null:docs",
    "$dir_pw_log_rpc:docs",
    "$dir_pw_log_string:docs",
    "$dir_pw_log_tokenized:docs",
    "$dir_pw_log_zephyr:docs",
    "$dir_pw_malloc:docs",
    "$dir_pw_malloc_freelist:docs",
    "$dir_pw_metric:docs",
    "$dir_pw_minimal_cpp_stdlib:docs",
    "$dir_pw_module:docs",
    "$dir_pw_multisink:docs",
    "$dir_pw_package:docs",
    "$dir_pw_perf_test:docs",
    "$dir_pw_persistent_ram:docs",
    "$dir_pw_polyfill:docs",
    "$dir_pw_preprocessor:docs",
    "$dir_pw_presubmit:docs",
    "$dir_pw_protobuf:docs",
    "$dir_pw_protobuf_compiler:docs",
    "$dir_pw_random:docs",
    "$dir_pw_result:docs",
    "$dir_pw_ring_buffer:docs",
    "$dir_pw_router:docs",
    "$dir_pw_rpc:docs",
    "$dir_pw_rpc_transport:docs",
    "$dir_pw_rust:docs",
    "$dir_pw_snapshot:docs",
    "$dir_pw_software_update:docs",
    "$dir_pw_span:docs",
    "$dir_pw_spi:docs",
    "$dir_pw_status:docs",
    "$dir_pw_stm32cube_build:docs",
    "$dir_pw_stream:docs",
    "$dir_pw_string:docs",
    "$dir_pw_symbolizer:docs",
    "$dir_pw_sync:docs",
    "$dir_pw_sync_baremetal:docs",
    "$dir_pw_sync_embos:docs",
    "$dir_pw_sync_freertos:docs",
    "$dir_pw_sync_stl:docs",
    "$dir_pw_sync_threadx:docs",
    "$dir_pw_sync_zephyr:docs",
    "$dir_pw_sys_io:docs",
    "$dir_pw_sys_io_arduino:docs",
    "$dir_pw_sys_io_baremetal_lm3s6965evb:docs",
    "$dir_pw_sys_io_baremetal_stm32f429:docs",
    "$dir_pw_sys_io_emcraft_sf2:docs",
    "$dir_pw_sys_io_mcuxpresso:docs",
    "$dir_pw_sys_io_pico:docs",
    "$dir_pw_sys_io_stdio:docs",
    "$dir_pw_sys_io_stm32cube:docs",
    "$dir_pw_sys_io_zephyr:docs",
    "$dir_pw_system:docs",
    "$dir_pw_target_runner:docs",
    "$dir_pw_thread:docs",
    "$dir_pw_thread_embos:docs",
    "$dir_pw_thread_freertos:docs",
    "$dir_pw_thread_stl:docs",
    "$dir_pw_thread_threadx:docs",
    "$dir_pw_thread_zephyr:docs",
    "$dir_pw_tls_client:docs",
    "$dir_pw_tls_client_boringssl:docs",
    "$dir_pw_tls_client_mbedtls:docs",
    "$dir_pw_tokenizer:docs",
    "$dir_pw_tool:docs",
    "$dir_pw_toolchain:docs",
    "$dir_pw_trace:docs",
    "$dir_pw_trace_tokenized:docs",
    "$dir_pw_transfer:docs",
    "$dir_pw_unit_test:docs",
    "$dir_pw_unit_test_zephyr:docs",
    "$dir_pw_varint:docs",
    "$dir_pw_watch:docs",
    "$dir_pw_web:docs",
    "$dir_pw_work_queue:docs",
  ]
}
