Skip to content

Allow slim LLVM distributions to omit optional tools and libc++ headers - #935

Open
ravi-pplx wants to merge 5 commits into
bazel-contrib:masterfrom
ravi-pplx:ravi/optional-llvm-tools
Open

ravi-pplx wants to merge 5 commits into
bazel-contrib:masterfrom
ravi-pplx:ravi/optional-llvm-tools

Conversation

@ravi-pplx

@ravi-pplx ravi-pplx commented Nov 5, 2026 •

Copy link
Copy Markdown

Slim LLVM distributions can fail ordinary C/C++ builds because absent auxiliary tools, such as llvm-cov, are included in internal-use-tools. Distributions using another standard library can also omit the bundled include/c++ directory, which is currently a required input.

Changes

  • Skip wrappers and input labels for absent clang-format, clang-tidy, clangd, llvm-cov, llvm-dwp, and llvm-profdata.
  • Make bundled libc++ headers optional while retaining the required Clang resource headers.
  • Add regression coverage for full, slim, and partially populated distributions, including required-tool preservation and Darwin's libtool alias.
  • Document the requirements for slim distributions.

Present optional tools remain available, and missing required tools still fail. Coverage and .dwp generation still require their corresponding tools; this change does not add support for those features when their tools are absent.

@helly25

helly25 commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants