This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: versioning C++ includes
On Tue, Jun 25, 2002 at 07:57:10PM +0200, Gabriel Dos Reis wrote:
> Nathan Myers <ncm-nospam@cantrip.org> writes:
>
> | On Tue, Jun 25, 2002 at 10:11:42AM -0700, Benjamin Kosnik wrote:
> | >
> | > 3) At this point, the libstdc++.so binary is versioned. With similarly
> | > versioned headers, the library ABI could be fully controlled, and a
> | > lot of the patches that have been queued by Phil and Paolo could go
> | > in.
> | >
> | > Because of this, I consider the status quo something that can be improved.
> | > ...
> | > Thoughts? I'll start working on implementing the above, and wait for
> | > additional input.
> |
> | I like this idea a lot. There's more to do to make it work, though.
> | We should incorporate the ABI version -- that portion of the release
> | version whose ABI is frozen, "3.1" for now -- into the library name
>
> I think the binary compatibility issues are incorporated in the
> installed .so (or .a) name -- existing practice. As far as source
> code is concerned, it suffices to use the compiler release number.
I agree that existing practice solves the version problem for programs
that use only libstdc++.so. People using g++ sometimes also use other
C++ libraries. There is no good solution in place to allow them to use
two libraries of the same release version, but built with different
compilers. This is necessary if you hope to run two C++ programs you
didn't build. Without a solution, everybody building for "your"
machine and who uses any C++ library has to use the same compiler
version, because there's no place to put the libraries they need.
Do you see the problem?
Nathan Myers
ncm at cantrip dot org