intel / intel/llvm

Support standalone builds of LLVM Projects

Open
#21,877 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### Is your feature request related to a problem? Please describe

Currently, only monolithic LLVM builds are supported, i.e. a single CMake
configuration rooted at `llvm/`, with LLVM's CMake machinery pulling in
subprojects. For downstream packaging it would be convenient to build and
package subprojects individually.

For the purposes of this issue, a "standalone build" means being able to configure a subproject against an already-built (Intel-)LLVM/Clang/etc. (via `-DLLVM_DIR=...`, `find_package(LLVM)`, etc.). That is, neither `build/` nor any (non-explicitly-exported) CMake variables are shared with the standalone build.

Projects that do not currently support standalone (out-of-tree) builds:

- [ ] `libclc`
- [ ] `opencl`
- [ ] `libdevice`
- [ ] `sycl`
- [ ] `sycl-jit`
- [ ] `unified-runtime`

### Describe the solution you would like

Support standalone builds for all of the projects listed above. This issue
is intended to serve as a tracking issue; the checklist above will be
ticked off as each project gains standalone build support.

### Describe alternatives you have considered

Continue using monolithic builds.

### Additional context

This was briefly discussed in https://github.com/intel/llvm/issues/19635#issuecomment-3247008981 (cc @sarnex):

> At this point I don't think we have bandwidth to support currently unsupported compilation modes, but patches are welcome!

I don't expect upstream to implement this themselves, the intent is to use
this issue as a tracking target that individual PRs can link back to.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.