This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]