On Monday, 10 April 2017 at 20:11:28 UTC, Wyatt wrote:
On Monday, 10 April 2017 at 18:46:31 UTC, H. S. Teoh wrote:
Hmm. I guess there's no easy way to make dmd/ldc emit
dependencies with modified SONAMEs? So yeah, you're right,
every software that depends on said libraries would have to
explicitly depend on a different SONAME depending on what they
were built with. OK, crazy idea, nevermind. :-(
Doesn't sounds that crazy; you already do it with GCC versions,
right? (Debian _does_ have something like that, right? Where
you can pick your C compiler.)
Yes, that's why all packages need to honor the CFLAGS/CC env var
somehow or get the default C compiler from dpkg at build time, so
we can easily apply new C flags globally, and projects to build
the distro with Clang work.
We do never change the SONAME of anything, however. We do track
symbols and might change the SOVERSION occasionally if breakage
is found (making 3 -> 3a etc.), but the soname isn't changed.
The good thing is that Clang and GCC are (with few exceptions)
very compatible.