compiler-explorer / compiler-explorer/infra

Build spirv-reflect and spirv-cross from source and add a trunk version

Open
#1,887 0 comments 0 reactions 0 assignees View on GitHub
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.

Image

----

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.