This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project. See the libstdc++ home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

announce: 2nd snapshot of libstdc++-v3



July 24, 1998

We are pleased to announce the second snapshot of the rewritten 
Egcs Standard C++ Library v3.  This is very much a developer-only
snapshot.  The following is abstracted from the release notes.
(Apologies if you get this twice; it's going to both the egcs
list and the libstdc++-v3 list.)

Nathan Myers <ncm@cygnus.com>

------------------------------------------------------

This is the second snapshot of the libstdc++ rewrite.  It is
still incomplet and incorrekt.

It depends on patches in the snapshot versions of Egcs.
Please note the compiler flags recommended below.

The primary change from the previous snapshot is that the SGI
STL version incorporated has been updated from 3.1 to 3.11.
There have been minor fixes in bits/basic_string.h and complex.cc,
and more names have been uglified in valarray (sorry Gaby), and 
some work done on bits/std_streambuf.h -- member snextc() is now 
optimal :-).

Because of uglification in sgi-stl-3.11, patches against the STL
and valarray files in the 2.90 snapshot would be hard to apply
to this snapshot, and a diff between the snapshots wouldn't be 
very useful.


What works: (noted with the chapter # of the draft standard)
-----------

 - exceptions, op new etc.(18, 19)
 - rewritten basic_string<>.  (21)
 - locale, some facets, stubs for the rest.  (22)
 - SGI-STL release 3.11 utilities, containers, algorithms, and iterators.
   (20,23,24,25)
 - Gabriel dos Reis's valarray<>, and Drepper's complex<>. (26)
 - ios_base and basic_ios<>. (27)

What doesn't:
-------------

 - streambuf, ostream, istream, etc. (27)
 - most facet implementations are stubs. (22)
 - no optimizations for small-footprint/low-overhead. (22,27)
 - C headers are not wrapped in std:: namespace; C macros are
   not shadowed.
 - it has not been audited for standard conformance in the areas that
   do work.
 - it has not been made thread-safe.

The license is similar to, but weaker than, LGPL.  This weakening 
is necessary because the LGPL terms don't work for a library which 
is substantially composed of inline functions and templates; there's 
no simple boundary to make it easy to say "this is library, this is
program".  Thus, like the LGPL it permits linking with the library without 
publishing source code for the whole program, but it does not require
that users of a program be able to relink with their own version of
the library.  However, unlike the BSD license, it doesn't allow 
embargoing changes.  

The effect is that this library should be usable by anybody
(including a commercial venture) who is willing to publish sources 
of the library and any changes they've made for their own purposes.  
A consequence is that source for pure extensions that don't modify
copyrighted files need not be released.

The STL portion of the library, under the stl/ directory, is under
a much weaker license specified by HP and SGI, that only requires
that the copyright notices not be stripped off.

Any patches accepted must be assigned under the same copyright terms.
Please contact Brendan Kehoe <brendan@cygnus.com> for further details.

Contact:
--------
The web page is at <http://egcs.cygnus.com/libstdc++-v3.html>.
(Sorry, no screen shots. :-)  You can join the mailing list by 
writing to 

  libstdc++-v3-request@cygnus.com
  
The library is maintained by Nathan Myers <http://www.cygnus.com/~ncm>.

Obtain the library snapshot (including these release notes) from 
<ftp://ftp.cygnus.com/pub/g++/libstdc++-v3/>