compiler-explorer / compiler-explorer/infra
Build spirv-reflect and spirv-cross from source and add a trunk version
- Dominant language
- Python
- Stars
- 434
- Forks
- 429
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 38
Description
From adding a few Vulkan SDK versions, I have found the `spirv-reflect` and `spirv-cross` used for the SPIR-V language might be better to be like `SPIRV-Tools` and have us build from source nightly and just add a trunk version
I would be happy to help, just not sure how to.
----
For [SPIRV-Reflect](https://github.com/KhronosGroup/SPIRV-Reflect) the build is very easy (and quick)
```bash
git clone git@github.com:KhronosGroup/SPIRV-Reflect.git
cd SPIRV-Reflect
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
```
then the binary is always just put into a `bin/` folder (`SPIRV-Reflect/bin/spirv-reflect`)
-----
For [SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross) is the same build workflow (and also quick)
```bash
git clone git@github.com:KhronosGroup/SPIRV-Cross.git
cd SPIRV-Cross
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
```
and the `spirv-cross` binary is just in the `build/` folder (`SPIRV-Cross/build/spirv-cross`)
Contributor guide
Research direction
Start by locating the existing SPIRV-Tools source-build definition in the infra repository and compare its trunk-version workflow with the commands shown for SPIRV-Reflect and SPIRV-Cross. Verify where each build places its binary (`bin/spirv-reflect` and `build/spirv-cross`) and identify the configuration needed to expose both as nightly trunk versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100