pw_toolchain: For bazel rust toolchains, allow specifying constraints

To support arbitrary constraints on the generated rust toolchain, pass
extra list to append to target_compatible_with on the toolchain.

Change-Id: I4095072d4c15cc3ed33464aedc43e7695c3b9671
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/150030
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Commit-Queue: Austin Foxley <afoxley@google.com>
Reviewed-by: Erik Gilling <konkers@google.com>
2 files changed
tree: 8f2e6e95edbc2f0658463540de80c14641170fc6
  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_docgen/
  46. pw_doctor/
  47. pw_env_setup/
  48. pw_file/
  49. pw_function/
  50. pw_fuzzer/
  51. pw_hdlc/
  52. pw_hex_dump/
  53. pw_i2c/
  54. pw_i2c_mcuxpresso/
  55. pw_ide/
  56. pw_interrupt/
  57. pw_interrupt_cortex_m/
  58. pw_interrupt_zephyr/
  59. pw_intrusive_ptr/
  60. pw_kvs/
  61. pw_libc/
  62. pw_log/
  63. pw_log_android/
  64. pw_log_basic/
  65. pw_log_null/
  66. pw_log_rpc/
  67. pw_log_string/
  68. pw_log_tokenized/
  69. pw_log_zephyr/
  70. pw_malloc/
  71. pw_malloc_freelist/
  72. pw_metric/
  73. pw_minimal_cpp_stdlib/
  74. pw_module/
  75. pw_multisink/
  76. pw_package/
  77. pw_perf_test/
  78. pw_persistent_ram/
  79. pw_polyfill/
  80. pw_preprocessor/
  81. pw_presubmit/
  82. pw_protobuf/
  83. pw_protobuf_compiler/
  84. pw_random/
  85. pw_result/
  86. pw_ring_buffer/
  87. pw_router/
  88. pw_rpc/
  89. pw_rpc_transport/
  90. pw_rust/
  91. pw_snapshot/
  92. pw_software_update/
  93. pw_span/
  94. pw_spi/
  95. pw_status/
  96. pw_stm32cube_build/
  97. pw_stream/
  98. pw_string/
  99. pw_symbolizer/
  100. pw_sync/
  101. pw_sync_baremetal/
  102. pw_sync_embos/
  103. pw_sync_freertos/
  104. pw_sync_stl/
  105. pw_sync_threadx/
  106. pw_sync_zephyr/
  107. pw_sys_io/
  108. pw_sys_io_arduino/
  109. pw_sys_io_baremetal_lm3s6965evb/
  110. pw_sys_io_baremetal_stm32f429/
  111. pw_sys_io_emcraft_sf2/
  112. pw_sys_io_mcuxpresso/
  113. pw_sys_io_pico/
  114. pw_sys_io_stdio/
  115. pw_sys_io_stm32cube/
  116. pw_sys_io_zephyr/
  117. pw_system/
  118. pw_target_runner/
  119. pw_thread/
  120. pw_thread_embos/
  121. pw_thread_freertos/
  122. pw_thread_stl/
  123. pw_thread_threadx/
  124. pw_thread_zephyr/
  125. pw_tls_client/
  126. pw_tls_client_boringssl/
  127. pw_tls_client_mbedtls/
  128. pw_tokenizer/
  129. pw_tool/
  130. pw_toolchain/
  131. pw_trace/
  132. pw_trace_tokenized/
  133. pw_transfer/
  134. pw_unit_test/
  135. pw_unit_test_zephyr/
  136. pw_varint/
  137. pw_watch/
  138. pw_web/
  139. pw_work_queue/
  140. seed/
  141. targets/
  142. third_party/
  143. ts/
  144. zephyr/
  145. .bazelignore
  146. .bazelrc
  147. .black.toml
  148. .clang-format
  149. .clang-tidy
  150. .eslintrc.json
  151. .git-blame-ignore-revs
  152. .gitattributes
  153. .gitignore
  154. .gn
  155. .mypy.ini
  156. .prettierrc.js
  157. .pw_ide.yaml
  158. .pylintrc
  159. activate.bat
  160. Android.bp
  161. AUTHORS
  162. bootstrap.bat
  163. bootstrap.sh
  164. BUILD.bazel
  165. BUILD.gn
  166. BUILDCONFIG.gn
  167. CMakeLists.txt
  168. jest.config.ts
  169. Kconfig.zephyr
  170. LICENSE
  171. modules.gni
  172. OWNERS
  173. package-lock.json
  174. package.json
  175. pigweed.json
  176. PIGWEED_MODULES
  177. README.md
  178. rollup.config.js
  179. tsconfig.json
  180. 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