pw_tokenizer: Tokenization options for proto

- Add a proto option for marking a field as tokenized.
- Create tools for automatically detokenizing protos with tokenized
  fields.
- Add missing inputs (ELF files for tests) to pw_tokenizer.
- Copy inputs to the out directory for generated packages.

Change-Id: If724cdb5e24ff3a86e89690806aa77fd4e7fdbe9
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/47741
Commit-Queue: Wyatt Hepler <hepler@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
9 files changed
tree: bcedc39dc252e24cf43d08f41e16df7df84fe69e
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_arduino_build/
  7. pw_assert/
  8. pw_assert_basic/
  9. pw_assert_log/
  10. pw_base64/
  11. pw_bloat/
  12. pw_blob_store/
  13. pw_boot_armv7m/
  14. pw_build/
  15. pw_bytes/
  16. pw_checksum/
  17. pw_chrono/
  18. pw_chrono_embos/
  19. pw_chrono_freertos/
  20. pw_chrono_stl/
  21. pw_chrono_threadx/
  22. pw_cli/
  23. pw_containers/
  24. pw_cpu_exception/
  25. pw_cpu_exception_cortex_m/
  26. pw_docgen/
  27. pw_doctor/
  28. pw_env_setup/
  29. pw_fuzzer/
  30. pw_hdlc/
  31. pw_hex_dump/
  32. pw_i2c/
  33. pw_interrupt/
  34. pw_interrupt_cortex_m/
  35. pw_kvs/
  36. pw_libc/
  37. pw_log/
  38. pw_log_basic/
  39. pw_log_multisink/
  40. pw_log_null/
  41. pw_log_rpc/
  42. pw_log_sink/
  43. pw_log_tokenized/
  44. pw_malloc/
  45. pw_malloc_freelist/
  46. pw_metric/
  47. pw_minimal_cpp_stdlib/
  48. pw_module/
  49. pw_multisink/
  50. pw_package/
  51. pw_persistent_ram/
  52. pw_polyfill/
  53. pw_preprocessor/
  54. pw_presubmit/
  55. pw_protobuf/
  56. pw_protobuf_compiler/
  57. pw_random/
  58. pw_result/
  59. pw_ring_buffer/
  60. pw_router/
  61. pw_rpc/
  62. pw_snapshot/
  63. pw_span/
  64. pw_status/
  65. pw_stm32cube_build/
  66. pw_stream/
  67. pw_string/
  68. pw_sync/
  69. pw_sync_baremetal/
  70. pw_sync_embos/
  71. pw_sync_freertos/
  72. pw_sync_stl/
  73. pw_sync_threadx/
  74. pw_sys_io/
  75. pw_sys_io_arduino/
  76. pw_sys_io_baremetal_lm3s6965evb/
  77. pw_sys_io_baremetal_stm32f429/
  78. pw_sys_io_stdio/
  79. pw_target_runner/
  80. pw_thread/
  81. pw_thread_embos/
  82. pw_thread_freertos/
  83. pw_thread_stl/
  84. pw_thread_threadx/
  85. pw_tokenizer/
  86. pw_tool/
  87. pw_toolchain/
  88. pw_trace/
  89. pw_trace_tokenized/
  90. pw_unit_test/
  91. pw_varint/
  92. pw_watch/
  93. pw_web_ui/
  94. targets/
  95. third_party/
  96. .bazelignore
  97. .bazelrc
  98. .clang-format
  99. .eslintrc.json
  100. .gitattributes
  101. .gitignore
  102. .gn
  103. .prettierrc.js
  104. .pylintrc
  105. activate.bat
  106. AUTHORS
  107. bootstrap.bat
  108. bootstrap.sh
  109. BUILD
  110. BUILD.gn
  111. BUILDCONFIG.gn
  112. CMakeLists.txt
  113. LICENSE
  114. modules.gni
  115. OWNERS
  116. package.json
  117. PW_PLUGINS
  118. README.md
  119. tsconfig.json
  120. WORKSPACE
  121. yarn.lock
README.md

See our website: http://pigweed.dev