On Fri, Mar 25, 2022 at 11:34:17PM +0100, Adam Borowski wrote: > Hi! Hi Adam!
>... > * while a hard Depends: works for leafy packages, on a library it > disallows having alternate implementations that don't need the > library in question. Eg, libvectorscan5 blocks a program that > uses it from just checking the regexes one by one. > > Suggestions? glibc 2.33 added a modernized version of the old hwcaps. If a package builds a library several times with different optimizations and installs them into the correct directories in the binary package, the dynamic linker will automatically select the fastest one supported by the hardware. SIMDe (or similar approaches) could be used to build variant(s) of the library that have compile-time emulation of SIMD instructions in the lower baseline builds of vectorscan. People using libvectorscan5 on modern hardware with SSE 4.2 would then get the properly optimized fast version, while people on older hardware would get a version that is slow but works. For binaries, I have seen packages in the Debian Med (?) team that build several variants of a program and have a tiny wrapper program that chooses the correct one at startup. > Meow! cu Adrian