pw_system: Remove header visibility restrictions

Removes visibility restrictions on rules exposing public headers.

Previously, a user had to depend on the top-level pw_system GN group
to get some headers, however this could cause dependency cycles.

For example, if a user application injects a
pw_system_TARGET_HOOKS_BACKED which in turn depends on
pw_system/rpc_server.h, then previously we'd end up with a dependency
cycle like:

pw_system -> init -> target_hooks -> pw_system_TARGET_HOOKS_BACKEND
-> pw_system (becomes rpc_server with this change).

Change-Id: Ibc52afa4a76fabe1ed4e6358faec518e97c959ae
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/89780
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Armando Montanez <amontanez@google.com>
1 file changed
tree: 29ab20c233be6a824431ccb935d3d997c737af02
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_android_toolchain/
  7. pw_arduino_build/
  8. pw_assert/
  9. pw_assert_basic/
  10. pw_assert_log/
  11. pw_assert_tokenized/
  12. pw_assert_zephyr/
  13. pw_base64/
  14. pw_bloat/
  15. pw_blob_store/
  16. pw_bluetooth_hci/
  17. pw_boot/
  18. pw_boot_cortex_m/
  19. pw_build/
  20. pw_build_info/
  21. pw_build_mcuxpresso/
  22. pw_bytes/
  23. pw_checksum/
  24. pw_chrono/
  25. pw_chrono_embos/
  26. pw_chrono_freertos/
  27. pw_chrono_stl/
  28. pw_chrono_threadx/
  29. pw_chrono_zephyr/
  30. pw_cli/
  31. pw_console/
  32. pw_containers/
  33. pw_cpu_exception/
  34. pw_cpu_exception_cortex_m/
  35. pw_crypto/
  36. pw_docgen/
  37. pw_doctor/
  38. pw_env_setup/
  39. pw_file/
  40. pw_function/
  41. pw_fuzzer/
  42. pw_hdlc/
  43. pw_hex_dump/
  44. pw_i2c/
  45. pw_i2c_mcuxpresso/
  46. pw_interrupt/
  47. pw_interrupt_cortex_m/
  48. pw_interrupt_zephyr/
  49. pw_kvs/
  50. pw_libc/
  51. pw_log/
  52. pw_log_android/
  53. pw_log_basic/
  54. pw_log_null/
  55. pw_log_rpc/
  56. pw_log_string/
  57. pw_log_tokenized/
  58. pw_log_zephyr/
  59. pw_malloc/
  60. pw_malloc_freelist/
  61. pw_metric/
  62. pw_minimal_cpp_stdlib/
  63. pw_module/
  64. pw_multisink/
  65. pw_package/
  66. pw_persistent_ram/
  67. pw_polyfill/
  68. pw_preprocessor/
  69. pw_presubmit/
  70. pw_protobuf/
  71. pw_protobuf_compiler/
  72. pw_random/
  73. pw_result/
  74. pw_ring_buffer/
  75. pw_router/
  76. pw_rpc/
  77. pw_snapshot/
  78. pw_software_update/
  79. pw_span/
  80. pw_spi/
  81. pw_status/
  82. pw_stm32cube_build/
  83. pw_stream/
  84. pw_string/
  85. pw_symbolizer/
  86. pw_sync/
  87. pw_sync_baremetal/
  88. pw_sync_embos/
  89. pw_sync_freertos/
  90. pw_sync_stl/
  91. pw_sync_threadx/
  92. pw_sync_zephyr/
  93. pw_sys_io/
  94. pw_sys_io_arduino/
  95. pw_sys_io_baremetal_lm3s6965evb/
  96. pw_sys_io_baremetal_stm32f429/
  97. pw_sys_io_mcuxpresso/
  98. pw_sys_io_stdio/
  99. pw_sys_io_stm32cube/
  100. pw_sys_io_zephyr/
  101. pw_system/
  102. pw_target_runner/
  103. pw_thread/
  104. pw_thread_embos/
  105. pw_thread_freertos/
  106. pw_thread_stl/
  107. pw_thread_threadx/
  108. pw_tls_client/
  109. pw_tls_client_boringssl/
  110. pw_tls_client_mbedtls/
  111. pw_tokenizer/
  112. pw_tool/
  113. pw_toolchain/
  114. pw_trace/
  115. pw_trace_tokenized/
  116. pw_transfer/
  117. pw_unit_test/
  118. pw_varint/
  119. pw_watch/
  120. pw_web_ui/
  121. pw_work_queue/
  122. targets/
  123. third_party/
  124. zephyr/
  125. .bazelignore
  126. .bazelrc
  127. .clang-format
  128. .clang-tidy
  129. .eslintrc.json
  130. .gitattributes
  131. .gitignore
  132. .gn
  133. .prettierrc.js
  134. .pylintrc
  135. activate.bat
  136. Android.bp
  137. AUTHORS
  138. bootstrap.bat
  139. bootstrap.sh
  140. BUILD.bazel
  141. BUILD.gn
  142. BUILDCONFIG.gn
  143. CMakeLists.txt
  144. Kconfig.zephyr
  145. LICENSE
  146. modules.gni
  147. OWNERS
  148. package.json
  149. PIGWEED_MODULES
  150. PW_PLUGINS
  151. README.md
  152. tsconfig.json
  153. WORKSPACE
  154. yarn.lock
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/

Links