# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_varint:docs",
    "$dir_pw_watch:docs",
    "$dir_pw_web:docs",
    "$dir_pw_work_queue:docs",
  ]
}
