Skip to content

Update bundled LLVM tools for the shared bin layout - #14762

Draft
Colen Garoutte-Carson (Colengms) wants to merge 3 commits into
mainfrom
dev/coleng/llvm_shared_runtime
Draft

Update bundled LLVM tools for the shared bin layout#14762
Colen Garoutte-Carson (Colengms) wants to merge 3 commits into
mainfrom
dev/coleng/llvm_shared_runtime

Conversation

@Colengms

Copy link
Copy Markdown
Contributor

Update the extension to find clang-format and clang-tidy under Extension/bin
after their relocation from Extension/LLVM/bin.

The bundled-version check and Unix executable-permission setup now use the new
paths. The local binary bootstrap accepts both released extensions using the
legacy layout and extensions using the new layout, normalizing either into
bin. Prepublish cleanup also removes stale LLVM directories.

This is coordinated with the native change that packages the LLVM tools beside
the VC runtime DLLs.

Validation:

  • TypeScript build passes.
  • ESLint passes.
  • Bootstrap tests pass for both legacy and new layouts.
  • git diff --check passes.

@github-project-automation github-project-automation Bot moved this to Pull Request in cpptools Sep 10, 2026
@Colengms
Colen Garoutte-Carson (Colengms) marked this pull request as ready for review September 11, 2026 23:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

.gitignore does not cover the copied tool binaries, leaving untracked files that cleanup cannot remove.

Review tier: Lite
Findings: None

What changed in this PR

Updates bundled LLVM tools from Extension/LLVM/bin to Extension/bin while preserving legacy bootstrap compatibility.

Changes:

  • Updated tool lookup and executable permissions.
  • Normalized legacy and new binary layouts.
  • Added cleanup and tests for both layouts.
File Description
Extension/​src/​main.ts Uses shared bin paths for bundled tools.
Extension/​src/​LanguageServer/​settings.ts Checks bundled tool versions from bin.
Extension/​.scripts/​vscode.test.mjs Tests legacy and new layouts.
Extension/​.scripts/​copyExtensionBinaries.ts Copies both layouts into the shared directory.
Extension/​.scripts/​clean.ts Removes stale LLVM directories.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

auto-merge was automatically disabled September 11, 2026 23:58

Pull request was converted to draft

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

Labels

None yet

Projects

Status: Pull Request

Development

Successfully merging this pull request may close these issues.

2 participants