On Wed, 3 Oct 2018 13:05:05 +0300 Timo Aaltonen <[email protected]> wrote:
> Upstream allows building shared libs, but they're unversioned and thus
> not good enough for shipping.

Upstream glslang now builds SONAME-versioned shared libraries with hidden
default symbol visibility when built with -DBUILD_SHARED_LIBS=ON:

* VERSION "${GLSLANG_VERSION}" and SOVERSION "${GLSLANG_VERSION_MAJOR}"
  are set on glslang, glslang-default-resource-limits, and SPVRemapper
  (commit fbe9a23baf2c, "Generate build information from CHANGES.md",
  https://github.com/KhronosGroup/glslang/commit/fbe9a23baf2c; see
  glslang/CMakeLists.txt and SPIRV/CMakeLists.txt).
* Internal helper libraries (OSDependent, MachineIndependent,
  GenericCodeGen, SPIRV, etc.) were merged into the main glslang library
  in commit 4f01996c9df0 ("Merge ancillary libraries into main glslang
  library and stub originals",
  https://github.com/KhronosGroup/glslang/commit/4f01996c9df0) and are no
  longer installed as separate shared libraries when BUILD_SHARED_LIBS=ON.
* Only explicitly annotated GLSLANG_EXPORT symbols are exported
  (glslang_only_export_explicit_symbols in CMakeLists.txt, commit
  d64e8599870a, https://github.com/KhronosGroup/glslang/commit/d64e8599870a).

Would you consider enabling -DBUILD_SHARED_LIBS=ON and shipping the
shared libraries?

Reply via email to