#1095952 glslang.pc: should ideally go upstream

Package:
glslang-dev
Source:
glslang-dev
Description:
OpenGL and OpenGL ES shader front end and validator -- development files
Submitter:
Simon McVittie
Date:
2025-12-05 07:53:02 UTC
Severity:
normal
Tags:
#1095952#5
Date:
2025-02-14 09:17:31 UTC
From:
To:
glslang.pc provides Debian-specific pkg-config metadata so that multiple
build systems (Autotools, Meson, CMake, plain Makefiles, others?) can link
to the glslang library without needing to hard-code a complete list of the
static library filenames that are required by the main glslang library,
as demonstrated by the second ${CXX} invocation in debian/tests/glslang-dev.

Upstream now provides CMake metadata, but that's highly CMake-specific:
it's written in the CMake language and is difficult to consume from other
build systems.

It would be great if upstream could be persuaded to generate a .pc file
from their CMake build system (the same way that e.g. SDL3 generates a
.pc file from its build system) so that the library is easy to consume
from other build systems.

spirv.pc presumably does not need to be upstreamed, because it describes
a library that no longer has independent functionality.

I don't know the status of the rest of 0001-pkg-config-compatibility.patch,
which seems to be mixing up two conceptually independent changes:

- using pkg-config, instead of the CMake config module that it now provides,
  to locate a system copy of SPIRV-Tools;
- generating glslang.pc (and for backwards compatibility, spirv.pc)

Perhaps the size of that patch could be reduced, by dropping the parts that
relate to discovery of a system SPIRV-Tools if they are no longer needed
(or moving them to a separate patch if they are still necessary),
and integrating the .pc bug fixes from the other two patches into it?

    smcv

#1095952#10
Date:
2025-12-05 07:50:03 UTC
From:
To:
this has still not landed upstream

https://github.com/KhronosGroup/glslang/pull/3371