pw_build_mcuxpresso: Generate pw_source_set for MCUXpresso SDK targets

Provides a utility that parses the manifest XML files shipped inside
NXP MCUXpresso SDK packages detailing the SDK components and outputs
the list of sources, headers, etc. corresponding to an included and
excluded list of components.

Change-Id: I0e41cc046fe327860170e48bb561434730ebab55
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61800
Commit-Queue: Scott James Remnant <keybuk@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
12 files changed
tree: 39753d9b2d60050697bed6a05d42bead0eac72b6
  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_base64/
  12. pw_bloat/
  13. pw_blob_store/
  14. pw_bluetooth_hci/
  15. pw_boot/
  16. pw_boot_cortex_m/
  17. pw_build/
  18. pw_build_info/
  19. pw_build_mcuxpresso/
  20. pw_bytes/
  21. pw_checksum/
  22. pw_chrono/
  23. pw_chrono_embos/
  24. pw_chrono_freertos/
  25. pw_chrono_stl/
  26. pw_chrono_threadx/
  27. pw_cli/
  28. pw_console/
  29. pw_containers/
  30. pw_cpu_exception/
  31. pw_cpu_exception_cortex_m/
  32. pw_crypto/
  33. pw_docgen/
  34. pw_doctor/
  35. pw_env_setup/
  36. pw_file/
  37. pw_function/
  38. pw_fuzzer/
  39. pw_hdlc/
  40. pw_hex_dump/
  41. pw_i2c/
  42. pw_interrupt/
  43. pw_interrupt_cortex_m/
  44. pw_kvs/
  45. pw_libc/
  46. pw_log/
  47. pw_log_basic/
  48. pw_log_null/
  49. pw_log_rpc/
  50. pw_log_tokenized/
  51. pw_malloc/
  52. pw_malloc_freelist/
  53. pw_metric/
  54. pw_minimal_cpp_stdlib/
  55. pw_module/
  56. pw_multisink/
  57. pw_package/
  58. pw_persistent_ram/
  59. pw_polyfill/
  60. pw_preprocessor/
  61. pw_presubmit/
  62. pw_protobuf/
  63. pw_protobuf_compiler/
  64. pw_random/
  65. pw_result/
  66. pw_ring_buffer/
  67. pw_router/
  68. pw_rpc/
  69. pw_snapshot/
  70. pw_software_update/
  71. pw_span/
  72. pw_status/
  73. pw_stm32cube_build/
  74. pw_stream/
  75. pw_string/
  76. pw_symbolizer/
  77. pw_sync/
  78. pw_sync_baremetal/
  79. pw_sync_embos/
  80. pw_sync_freertos/
  81. pw_sync_stl/
  82. pw_sync_threadx/
  83. pw_sys_io/
  84. pw_sys_io_arduino/
  85. pw_sys_io_baremetal_lm3s6965evb/
  86. pw_sys_io_baremetal_stm32f429/
  87. pw_sys_io_stdio/
  88. pw_target_runner/
  89. pw_thread/
  90. pw_thread_embos/
  91. pw_thread_freertos/
  92. pw_thread_stl/
  93. pw_thread_threadx/
  94. pw_tls_client/
  95. pw_tls_client_boringssl/
  96. pw_tls_client_mbedtls/
  97. pw_tokenizer/
  98. pw_tool/
  99. pw_toolchain/
  100. pw_trace/
  101. pw_trace_tokenized/
  102. pw_transfer/
  103. pw_unit_test/
  104. pw_varint/
  105. pw_watch/
  106. pw_web_ui/
  107. pw_work_queue/
  108. targets/
  109. third_party/
  110. .bazelignore
  111. .bazelrc
  112. .clang-format
  113. .clang-tidy
  114. .eslintrc.json
  115. .gitattributes
  116. .gitignore
  117. .gn
  118. .prettierrc.js
  119. .pylintrc
  120. activate.bat
  121. AUTHORS
  122. bootstrap.bat
  123. bootstrap.sh
  124. BUILD.bazel
  125. BUILD.gn
  126. BUILDCONFIG.gn
  127. CMakeLists.txt
  128. LICENSE
  129. modules.gni
  130. OWNERS
  131. package.json
  132. PW_PLUGINS
  133. README.md
  134. tsconfig.json
  135. WORKSPACE
  136. 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