pw_log: Update Android.bp to generate RPC header files

This adds the following genrules to generate associated header files:
* pw_log_log_rpc_pwpb_h: "pw_log/proto/log.rpc.pwpb.h"
* pw_log_log_raw_rpc_h:  "pw_log/proto/log.raw_rpc.pb.h"

Note the following changes to the argument-passing pattern:
* --out-dir and --compile-dir are set to $(genDir), no longer including
  the prefix.
* --proto-path is passed for the input file, as required by protoc with
  the prior change.

The result is that the generated RPC header files are able to correctly
refer to the generated pw_log/proto/log.pwpb.h header file, including
the directory prefix.

This also updates the pw_log_log_proto_pwpb_h genrule to match.

Test: Verify that the existing log.pwpb.h is unmoved and unchanged.
Test: Verify that the new "pw_log/proto/log.rpc.pwpb.h" and
      "pw_log/proto/log.raw_rpc.pb.h" can be included in an Android
      project.
Bug: 298693458
Change-Id: I6a46b0d96101b81cc5819ce1e0686299b26dfbae
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/169530
Reviewed-by: Matt Stokes <matthewbstokes@google.com>
Reviewed-by: Austin Foxley <afoxley@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Chinchilla <cachinchilla@google.com>
Pigweed-Auto-Submit: Jonathon Reinhart <jrreinhart@google.com>
1 file changed
tree: e665a074b275ff8187aa0ae94048588b15b8b32f
  1. .allstar/
  2. .vscode/
  3. build_overrides/
  4. docker/
  5. docs/
  6. pw_alignment/
  7. pw_allocator/
  8. pw_analog/
  9. pw_android_toolchain/
  10. pw_arduino_build/
  11. pw_assert/
  12. pw_assert_basic/
  13. pw_assert_log/
  14. pw_assert_tokenized/
  15. pw_assert_zephyr/
  16. pw_async/
  17. pw_async_basic/
  18. pw_base64/
  19. pw_bloat/
  20. pw_blob_store/
  21. pw_bluetooth/
  22. pw_bluetooth_hci/
  23. pw_bluetooth_profiles/
  24. pw_boot/
  25. pw_boot_cortex_m/
  26. pw_build/
  27. pw_build_info/
  28. pw_build_mcuxpresso/
  29. pw_bytes/
  30. pw_checksum/
  31. pw_chrono/
  32. pw_chrono_embos/
  33. pw_chrono_freertos/
  34. pw_chrono_stl/
  35. pw_chrono_threadx/
  36. pw_chrono_zephyr/
  37. pw_cli/
  38. pw_compilation_testing/
  39. pw_console/
  40. pw_containers/
  41. pw_cpu_exception/
  42. pw_cpu_exception_cortex_m/
  43. pw_crypto/
  44. pw_digital_io/
  45. pw_digital_io_mcuxpresso/
  46. pw_docgen/
  47. pw_doctor/
  48. pw_env_setup/
  49. pw_file/
  50. pw_function/
  51. pw_fuzzer/
  52. pw_hdlc/
  53. pw_hex_dump/
  54. pw_i2c/
  55. pw_i2c_linux/
  56. pw_i2c_mcuxpresso/
  57. pw_ide/
  58. pw_interrupt/
  59. pw_interrupt_cortex_m/
  60. pw_interrupt_xtensa/
  61. pw_interrupt_zephyr/
  62. pw_intrusive_ptr/
  63. pw_kvs/
  64. pw_libc/
  65. pw_log/
  66. pw_log_android/
  67. pw_log_basic/
  68. pw_log_null/
  69. pw_log_rpc/
  70. pw_log_string/
  71. pw_log_tokenized/
  72. pw_log_zephyr/
  73. pw_malloc/
  74. pw_malloc_freelist/
  75. pw_metric/
  76. pw_minimal_cpp_stdlib/
  77. pw_module/
  78. pw_multisink/
  79. pw_package/
  80. pw_perf_test/
  81. pw_persistent_ram/
  82. pw_polyfill/
  83. pw_preprocessor/
  84. pw_presubmit/
  85. pw_protobuf/
  86. pw_protobuf_compiler/
  87. pw_random/
  88. pw_result/
  89. pw_ring_buffer/
  90. pw_router/
  91. pw_rpc/
  92. pw_rpc_transport/
  93. pw_rust/
  94. pw_snapshot/
  95. pw_software_update/
  96. pw_span/
  97. pw_spi/
  98. pw_spi_mcuxpresso/
  99. pw_status/
  100. pw_stm32cube_build/
  101. pw_stream/
  102. pw_stream_shmem_mcuxpresso/
  103. pw_stream_uart_linux/
  104. pw_stream_uart_mcuxpresso/
  105. pw_string/
  106. pw_symbolizer/
  107. pw_sync/
  108. pw_sync_baremetal/
  109. pw_sync_embos/
  110. pw_sync_freertos/
  111. pw_sync_stl/
  112. pw_sync_threadx/
  113. pw_sync_zephyr/
  114. pw_sys_io/
  115. pw_sys_io_ambiq_sdk/
  116. pw_sys_io_arduino/
  117. pw_sys_io_baremetal_lm3s6965evb/
  118. pw_sys_io_baremetal_stm32f429/
  119. pw_sys_io_emcraft_sf2/
  120. pw_sys_io_mcuxpresso/
  121. pw_sys_io_pico/
  122. pw_sys_io_stdio/
  123. pw_sys_io_stm32cube/
  124. pw_sys_io_zephyr/
  125. pw_system/
  126. pw_target_runner/
  127. pw_thread/
  128. pw_thread_embos/
  129. pw_thread_freertos/
  130. pw_thread_stl/
  131. pw_thread_threadx/
  132. pw_thread_zephyr/
  133. pw_tls_client/
  134. pw_tls_client_boringssl/
  135. pw_tls_client_mbedtls/
  136. pw_tokenizer/
  137. pw_tool/
  138. pw_toolchain/
  139. pw_toolchain_bazel/
  140. pw_trace/
  141. pw_trace_tokenized/
  142. pw_transfer/
  143. pw_unit_test/
  144. pw_unit_test_zephyr/
  145. pw_varint/
  146. pw_watch/
  147. pw_web/
  148. pw_work_queue/
  149. seed/
  150. targets/
  151. third_party/
  152. ts/
  153. zephyr/
  154. .bazelignore
  155. .bazelrc
  156. .black.toml
  157. .clang-format
  158. .clang-tidy
  159. .eslintrc.cjs
  160. .git-blame-ignore-revs
  161. .gitattributes
  162. .gitignore
  163. .gn
  164. .mypy.ini
  165. .prettierignore
  166. .prettierrc.cjs
  167. .pw_ide.yaml
  168. .pylintrc
  169. activate.bat
  170. Android.bp
  171. AUTHORS
  172. bootstrap.bat
  173. bootstrap.sh
  174. BUILD.bazel
  175. BUILD.gn
  176. BUILDCONFIG.gn
  177. CMakeLists.txt
  178. jest.config.ts
  179. Kconfig.zephyr
  180. LICENSE
  181. modules.gni
  182. OWNERS
  183. package-lock.json
  184. package.json
  185. pigweed.json
  186. PIGWEED_MODULES
  187. README.md
  188. rollup.config.js
  189. tsconfig.json
  190. WORKSPACE
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