Bruce Richardson, Oct 15, 2026 at 14:18:
Yes, static builds link in everything, and that was always the design since
static builds don't load drivers at runtime, everything has to be linked
into the final object.
Personally, I don't that strongly object to the change because - as you
point out - the as-needed flag should prevent overlinking. If we do this,
I'd suggest making both drivers and libs full lists, rather than
distinguishing between drivers with public headers and those without,
because that should allow us to simplify our package config files. Right
now we have this strange split into two .pc files, as that was the only way
I could find to get correct behaviour for both static and shared builds,
where static included everything and shared was libs only. [IIRC, the
complication was that, when you pass --static to pkg-config, the extra link
args from the pc file get listed *after* the normal libs, while they need to get
listed *before* in order to satisfy the dependencies drivers have on the
libs]
Thanks. I will see what I can do.