KhronosGroup / KhronosGroup/glslang

Tracker for adding glslang support for versioned shared objects / DLLs

Open
#2,283 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
3.6k
Forks
989
Avg merge
1d 2h
Merged PRs (30d)
31

Description

This issue tracks the work being done to add support for versioned shared objects / DLLs for glslang.

- [x] Untangle cyclic build target dependencies. **Status: Done** - #2271
- [x] Switch to using [Semantic Versioning](https://semver.org/). **Status: Done** - #2277
- [x] Add `SONAME` library versioning. **Status: Done** - #2277
- [x] Add presubmit builds for CMake, Android.mk. **Status: Done** - #2281
- [x] Add presubmit builds for shared objects. **Status: Done** - #2286
- [x] `glslang`
- [x] Reduce `glslang` exported symbols to public API. **Status: Done** - #2303
- [x] Export DLL `glslang` public API symbols. **Status: Done** - #2303
- [x] `SPIRV`
- [x] Determine `SPIRV` public API. **Status: in progress** - #2308
- [x] Reduce `SPIRV` symbols to public API. **Status: in progress** - #3705
- [x] Export DLL `SPIRV` API symbols. **Status: Not started**
- [x] Fix [ODR](https://github.com/KhronosGroup/glslang/issues/2346) violations between `glslang` and `SPIRV` shared objects. **Status: Done** - #3698
- [ ] Presubmit detection & warnings when making breaking API changes without bumping major version. **Status: Not started**

---

Related issues: #1255, #1421, #1484, #2147, #2267

Contributor guide

Open the contributing guide

Research direction

No source file, test, or entry point is named. Start by investigating the remaining presubmit detection and warnings for breaking API changes without a major-version bump; done means this check is implemented and the listed versioning and shared-object work is complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.