Skip to content

feat: build ROOT against external llvm#288

Open
wdconinc wants to merge 7 commits into
masterfrom
root-external-llvm
Open

feat: build ROOT against external llvm#288
wdconinc wants to merge 7 commits into
masterfrom
root-external-llvm

Conversation

@wdconinc
Copy link
Copy Markdown
Contributor

Briefly, what does this PR introduce? Please link to any relevant presentations or discussions.

ROOT includes its version of llvm, but it should be possible to build against an external llvm. With ROOT 6.36, that external llvm is at the same level as what ROOT requires. This PR enables the external llvm build.

What is the urgency of this PR?

  • High (please describe reason below)
  • Medium
  • Low

What kind of change does this PR introduce?

  • Bug fix (issue #__)
  • New feature (issue: ROOT with external llvm)
  • Optimization (issue #__)
  • Updated documentation
  • other: __

Please check if any of the following apply

  • This PR introduces breaking changes. Please describe changes users need to make below.
  • This PR changes default behavior. Please describe changes below.
  • AI was used in preparing this PR. Please describe usage below.

Copilot AI review requested due to automatic review settings May 14, 2026 21:39
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Enables building ROOT against an external LLVM (instead of ROOT's bundled copy) by adding ~builtin_llvm to the ROOT require list, and pulls in the corresponding spack-packages cherry-pick that introduces the builtin_llvm variant.

Changes:

  • Add cherry-pick 8cd9959e to spack-packages.sh that adds the builtin_llvm variant to the ROOT package recipe.
  • Add ~builtin_llvm to the ROOT requirements in spack-environment/packages.yaml to use the external LLVM.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
spack-packages.sh Adds new spack-packages cherry-pick hash and matching descriptive comment for the ROOT builtin_llvm variant.
spack-environment/packages.yaml Adds ~builtin_llvm to ROOT's required variants, switching to external LLVM.

Copilot AI review requested due to automatic review settings May 15, 2026 04:06

This comment was marked as duplicate.

@wdconinc wdconinc force-pushed the root-external-llvm branch from 901a1d3 to ac164f0 Compare May 15, 2026 20:58
Copilot AI review requested due to automatic review settings May 16, 2026 00:05

This comment was marked as resolved.

Copilot AI review requested due to automatic review settings May 16, 2026 15:43

This comment was marked as duplicate.

Copilot AI review requested due to automatic review settings May 18, 2026 20:27
@wdconinc wdconinc force-pushed the root-external-llvm branch from 52caa62 to 2b36d4d Compare May 18, 2026 20:29

This comment was marked as duplicate.

Copilot AI review requested due to automatic review settings May 18, 2026 20:29

This comment was marked as duplicate.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

wdconinc and others added 4 commits May 23, 2026 17:43
Added installation of libllvm for Clang support.
Point to eic/eic-spack#932 which guards the BEFORE flag in
interpreter/cling/CMakeLists.txt include_directories to only apply
when builtin_llvm=ON.  With external LLVM, the unconditional BEFORE
caused LLVM's libc++abi cxxabi.h to shadow GCC 14's cxxabi.h,
producing a conflicting declaration of __cxa_init_primary_exception.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@wdconinc wdconinc force-pushed the root-external-llvm branch from 4881ab5 to e25b423 Compare May 23, 2026 22:43
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