KhronosGroup / KhronosGroup/SPIRV-Tools
Support shared libs "properly"
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
- Generate a shared library corresponding to each static library we can build. (Our team's flows normally only use static libraries.)
- Only expose entry points we deliberately want to export. (hidden visibility by default)
- use proper SONAME for Linux: #3046
- need to determine a sensible version-numbering system. Since we don't absolutely promise backward compatibility, I think it's best to use 0... E.g. if we're in the v2020.2-dev or v2020.2 releases, then SONAME would end in .0.2020.2
See also the interesting discussion over at Shaderc: https://github.com/google/shaderc/issues/381 and https://github.com/google/shaderc/pull/498
Contributor guide
Research direction
Review the existing build configuration for static libraries and compare the referenced Shaderc discussion and pull request. Determine how each buildable static library maps to a shared library, how exports are currently controlled, and what versioning decisions are still unresolved; done means the requirements are implemented consistently with deliberate exports and a valid Linux SONAME.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100