Shared SPIRV-Tools is not shipped by Debian Bullseye, and is broken if built manually.
Is that a regression? I'm using a build of shared SPIRV-Tools I made myself, and it seems to work fine, although it's an older (v2019.5) version.
Okay, I think I remember / have reproduced the problem I was encountering.
If I build spirv-tools with a prefix that doesn't put it in $PATH, and then try to build vkd3d, I get this:
elizabeth@ledyba:~/git/vkd3d64$ make make all-am make[1]: Entering directory '/home/elizabeth/git/vkd3d64' CCLD vkd3d-compiler /usr/bin/ld: warning: libSPIRV-Tools-shared.so, needed by ./.libs/libvkd3d-shader.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: ./.libs/libvkd3d-shader.so: undefined reference to `spvContextCreate' /usr/bin/ld: ./.libs/libvkd3d-shader.so: undefined reference to `spvContextDestroy' /usr/bin/ld: ./.libs/libvkd3d-shader.so: undefined reference to `spvTextDestroy' /usr/bin/ld: ./.libs/libvkd3d-shader.so: undefined reference to `spvDiagnosticDestroy' /usr/bin/ld: ./.libs/libvkd3d-shader.so: undefined reference to `spvBinaryToText' /usr/bin/ld: ./.libs/libvkd3d-shader.so: undefined reference to `spvValidateBinary' collect2: error: ld returned 1 exit status make[1]: *** [Makefile:1510: vkd3d-compiler] Error 1 make[1]: Leaving directory '/home/elizabeth/git/vkd3d64' make: *** [Makefile:1157: all] Error 2
I don't really understand linking enough to know whose fault this is, although I suspect it's the fault of spirv-tools, which is generally just a mess.
Either way I don't think this patch is the right thing to do, so I'm going to close this.