pw_toolchain: Allow user-provided clang toolchain

Allows a user to specify the root directory of the llvm tools to use
when compiling with clang. This makes it easier to debug
compiler-related issues.

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

See our website: http://pigweed.dev