Re: G++ 2 => 3 transition (was Re: GNU C++ 3.0 porting help wanted)
"Steve M. Robbins" <steven.robbins@videotron.ca> writes:
> Richard Kettlewell wrote:
>> Upstream should have changed the version number to reflect the ABI
>> change anyway, shouldn't they?
>
> This thread started to confuse me starting here.
>
> The ABI change is caused by a new C++ compiler, not an upstream
> library change. Isn't that right?
Yes.
> I don't see how you are going to enforce any correlation between
> (upstream) library version number and the compiler with which it
> gets built. At least, not across OSes and distributions, which is
> what Sean was worrying about, above.
I was imagining something like this in configure.in (or something
similar in other build control scripts):
if test "x$GXX" = xyes; then
case `$CXX --version` in
2* )
SOVERSION=3
;;
3* )
SOVERSION=4
;;
esac
else
# choose SOVERSION for other C++ implementations
fi
AC_SUBST(SOVERSION)
(Explicitly looking at the version number is not necessarily the
nicest approach, but the point is that the problem is not insoluble.)
To enforce correlation across distributions: making sure upstream gets
it right in the first place would seem to be the best approach;
failing that one would have to coordinate with people doing the
packaging for the same libraries in other distributions.
To enforce correlation across different operating systems: why do you
need to do that?
--
http://www.greenend.org.uk/rjk/
Reply to: