head	1.19;
access;
symbols;
locks; strict;
comment	@# @;


1.19
date	99.04.15.15.53.02;	author bkoz;	state dead;
branches;
next	1.18;

1.18
date	99.03.17.02.13.08;	author bkoz;	state Exp;
branches;
next	1.17;

1.17
date	99.03.12.02.49.06;	author bkoz;	state Exp;
branches;
next	1.16;

1.16
date	98.12.31.23.15.38;	author bkoz;	state Exp;
branches;
next	1.15;

1.15
date	98.10.31.02.17.27;	author ncm;	state Exp;
branches;
next	1.14;

1.14
date	98.10.31.02.16.42;	author ncm;	state Exp;
branches;
next	1.13;

1.13
date	98.10.31.01.13.48;	author ncm;	state Exp;
branches;
next	1.12;

1.12
date	98.10.31.00.01.00;	author ncm;	state Exp;
branches;
next	1.11;

1.11
date	98.10.30.21.18.15;	author ncm;	state Exp;
branches;
next	1.10;

1.10
date	98.10.30.04.09.25;	author brendan;	state Exp;
branches;
next	1.9;

1.9
date	98.10.15.21.49.56;	author drepper;	state Exp;
branches;
next	1.8;

1.8
date	98.08.13.02.07.36;	author ncm;	state Exp;
branches;
next	1.7;

1.7
date	98.07.24.18.51.26;	author ncm;	state Exp;
branches;
next	1.6;

1.6
date	98.07.15.23.23.10;	author ncm;	state Exp;
branches;
next	1.5;

1.5
date	98.07.15.22.47.29;	author ncm;	state Exp;
branches;
next	1.4;

1.4
date	98.07.15.20.21.42;	author brendan;	state Exp;
branches;
next	1.3;

1.3
date	98.07.15.19.00.42;	author ncm;	state Exp;
branches;
next	1.2;

1.2
date	98.07.14.23.38.07;	author drepper;	state Exp;
branches;
next	1.1;

1.1
date	98.07.14.23.33.51;	author ncm;	state Exp;
branches;
next	;


desc
@@


1.19
log
@l
1999-04-15   Benjamin Kosnik  <bkoz@@cygnus.com>
	* C++STYLE: Add ChangeLog guidelines for member functions.
	* doc/* : Delete.
	* BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
	DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
	docs/text and made less strident.
	* bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
	* bits/std_fstream.h: Same.
	* src/ios.cc: Same.
	* bits/locfacets.h: Touch.
@
text
@1999-03-16

Release Notes   
-------------
The Egcs Standard C++ Library v3, or libstc++-2.90.x, is an ongoing
project to implement the ISO 14882 Standard C++ library as described
in chapters 17 through 27 and annex D, as a drop-in replacement
for the current (ARM-conformant) library.

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

The Egcs Standard C++ Library v3, or libstc++-2.90.x, follows an open
development model, attempting to be fully buzzword, bazaar, and GNU
compliant. Full details on participating, including contributor
guidelines, mailing list subscription, mailing list archives,
up-to-date documentation, and various and sundry other details can be
found at the following URL:

  http://sourceware.cygnus.com/libstdc++/


New: 
--- 
 - Update to SGI STL 3.12
 - STL auto_ptr fixes
 - A string and vector iterator class 
 - Minor valarray tweaks. 
 - New buffering classes and abstractions for the underlying byte sequences, 
   with filebufs approaching (unoptimized) usability. 
 - Facets have been cached, stashed, and used throughout the iostream 
   hierarchy. Note the caching strategy is still developing, and the actual 
   locations they are saved may be changed.
 - Initialization of standard streams is done in a coherent and 
   standards-conformant manner.  
 - Preliminary wchar_t support has been added, although this isn't yet usable. 
 - Libio has been imported directly into the distribution, resulting in it's 
   larger size, but allowing input/output to work on other platforms--Solaris 
   in particular.


What works: (noted with the chapter # of the ISO-14882 standard)
-----------
 - exceptions, op new etc. (18, 19)
 - SGI-STL release 3.12 utilities, containers, algorithms, and iterators.
   (20,23,24,25), and ostreambuf_iterator<>. Plus fixes for auto_ptr,
   and an interator class for vector and string.
 - basic_string<> (21)
 - locale, some facets (ctype, num_put, collate), stubs for the rest. (22)
 - Gabriel dos Reis's valarray<>, and Drepper's complex<>.  (However, 
   note that numeric_limits<> is not tailored for your target.  You 
   must do that by hand.) (26)
 - ios_base, basic_ios<>, basic_streambuf<>, basic_stringbuf<>, 
   basic_filebuf<>, ostream<>, operator<< for integers, strings. (27)


What doesn't:
-------------
 - too many parts of istream, op>>, op<<(double&) etc. (27) 
 - Most facet implementations are stubs. (22) 
 - Almost no optimizations for small-footprint/low-overhead. (22,27) 
 - It has not been fully audited for standard conformance in the areas 
   that do work--check out the testsuite directory for an idea of the 
   limitations of the current implementation. 
 - It has not been made thread-safe. 
 - There has been some work to wrap the C headers in namespace std::, but 
   it may not be complete yet, and C macros are not shadowed. Please consult 
   the mailing list archives for more information. 

 
How to participate:
-------------------
Read:

 - RELEASE_NOTES - this file
 - README        - directory structure
 - HEADER_POLICY - header naming and sub-include structure
 - DESIGN        - overview of the implementation plan
 - TODO          - tasks
 - C++STYLE      - coding style by example
 - BADNAMES      - names to avoid because of potential collisions
 - LICENSE.STD   - the terms of use

The license for all non-STL parts of the library is a
slightly-modified version of the GPL that allows for template
instantiations: in particular, you may "use this file as part of a free
software library without restrictions." See the file COPYING for more
info, and any of the source files for the exception clause.

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 Benjamin Kosnik <benjamin@@cygnus.com> for further details.


Build and Install
-----------------
Unpack the tarball using GNU tar; it will create a directory libstdc++-2.90.4.

  tar xfz libstdc++-2.90.4.tar.gz

It's recommended that you create a separate build directory apart from
the source directory for the building of the library: this is optimal,
and will be assumed for the rest of the instructions. (It is possible
to configure/build in the same directory.) Call this build directory
(say) bld-libstdc++, and cd into it:

  mkdir bld-libstdc++
  cd    bld-libstdc++

You must have a recent snapshot release of Egcs built, and massaged
your PATH variable so that it is used for the building of the
library. Run configure; for example, using bash:

  ../libstdc++-2.90.4/configure --prefix=${PWD%/*}/H-libstdc++

Then 

  make
  make install

This will create (according to the above configure arguments) a directory
H-libstdc++ containing 

  lib/
  include/g++-v3/
    bits/
    backward/
    ext/

To link against that you can say, for example,

  LIBINC=$prefix/include/g++-v3
  g++ -Wall -I$LIBSTD -L$prefix/lib foo.cc -o foo

where prefix is set to the full name of your H-libstdc++ directory.
If you want the SGI STL extensions (e.g. hash tables) you can add
  -I$LIBINC/ext 
and/or 
  -I$LIBINC/backward

To run it, you will need to set LD_LIBRARY_PATH in your environment
correctly, so that the shared library for libstdc++ can be found and
loaded. (Or, you can compile with -static to link statically if you
are debugging or would rather not deal with the extra bits for shared
libraries.)

To set LD_LIBRARY_PATH try this (again, assuming bash):

  LD_LIBRARY_PATH=$prefix/lib foo


Contact:
--------
Places have changed from previous snapshots.  The web page, which has
information about joining the mailing list and searching its archives,
CVS access, and contribution information is now at:

  http://sourceware.cygnus.com/libstdc++/

Please note that the mailing list has recently moved, and is now
hosted on sourceware.cygnus.com. (The web site above has the most
up-to-date info.)
   
Obtain the library snapshot via ftp (including these release notes) from

  ftp://sourceware.cygnus.com/pub/libstdc++/

The library is maintained by Benjamin Kosnik, Nathan Myers, Gabriel
Dos Reis, and Ulrich Drepper.  


Development tools:
------------------
Testing was done with 

CXXFLAGS=  -g -Wall -O3 -fstrict-aliasing -ansi -fnew-abi -fno-honor-std
CXXDEFINES= 
CXXINCLUDE= -I$LIBDIR/std -I$LIBDIR -I$LIBDIR/stl 

If you compile programs -fnew-abi -fno-honor-std, uses of RTTI and 
certain other language features will link only if you build your Egcs 
compiler's libgcc using the same flags.  (The defaults use the old abi.)  
Using -fnew-abi offers real benefits, but note that it is not stable: 
later snapshots will *not* be binary-compatible with code compiled with 
older snapshots.

You will need a recent released version of Egcs.  We have used the
egcs-1.1.1 release successfully. In addition, you may need up-to-date
tools for modifying Makefiles and regenerating configure scripts:
automake (version 1.4 and above works nicely) and autoconf (version
2.13 and higher). Please see the website for more info on where to
obtain these additional tools.







@


1.18
log
@
1999-03-15  Benjamin Kosnik  <bkoz@@cygnus.com>
	* bits/locfacets.tcc: Remove macro hack.
	* bits/locfacets.h: Tweaks.
	* src/misc-inst.cc: Weed out locale-related instantiations.
	* src/locale-inst.cc: Same.
	* RELEASE-NOTES: Make more changes.
	* bits/c++config.h: Bump version number.
	* testsuite/make_check_libfree++: Collect diagnostics.
	* bits/std_ostream.h: Fix ostream initialization/destruction
	problem, related to dtor cleanup and new cached facets, agggggggh.
	* bits/ostream.tcc: Tweak.
	* bits/locfacets.h: Remove all friends of iostream classes.
	* bits/ios_base.h: Same.
	* bits/streambuf.tcc: Tweak.
        * bits/std_streambuf.h: Tweak.
	* bits/std_fstream.h: Tweak.
	* bits/fstream.tcc: Tweak.
	* src/stdstreams.cc: Tweak.
	* src/ios.cc: Close streams.
	* math/Makefile.in: Add missing files for shared link errors.
	* math/Makefile.am: Same.
@
text
@@


1.17
log
@d
1999-03-11  Benjamin Kosnik  <bkoz@@cygnus.com>
	* RELEASE-NOTES: Update.
	* src/ios.cc: Use do proper init.
	* bits/std_streambuf.h: Tweak.
	* bits/std_iostream.h: Take out static member.
	* std/iostream: Put here.
	* bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
	* bits/std_istream.h: Ditto.
	* bits/basic_ios.h: Format.
	* bits/ostream.tcc(write): Fix.
	* bits/fstream.tcc: Fix stdstreams ctor to do a proper
	initialization of the fstream class.
	* src/stdstreams.cc: I'm baaaaaaaack.
@
text
@d1 1
d3 1
a3 1
Release Notes   1999-03-10
d5 4
d13 6
a18 9
The Egcs Standard C++ Library v3, or libstc++-2.90.x, is an ongoing
project to implement the ISO 14882 Standard C++ library as described
in chapters 17 through 27 and annex D, as a GPL'd drop-in replacement
for the current (out-dated) library.

Full details on participating with the development, including
contributor guidelines, mailing list subscription, mailing list
archives, and various and sundry other details can be found at the
following URL:
d25 15
a40 7
This snapshot includes the update to SGI STL 3.12, auto_ptr fixes, the
addition of a string and vector iterator class, and valarray
tweaks. It includes a new buffering classes and abstractions for the
underlying byte sequences, with filebufs approaching (unoptimized)
usability. Facets have been cached, stashed, and used throughout the
iostream hierarchy. Preliminary wchar_t support has been added,
although this is not yet usable.
d42 1
a42 2

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

d47 1
a47 1
   and an interator class for vector.
d56 1
a58 1

a61 1
 - C headers are not wrapped in std:: namespace; C macros are not shadowed. 
d67 3
a69 1
   it is not complete yet. 
a72 1

d84 5
a88 2
The license for all non-STL parts of the library is the GPL: see file
COPYING for more info.
d97 1
d100 1
a100 2

Unpack the tarball; it will create a directory libstdc++-2.90.4.
d104 5
a108 2
Create a build directory called (say) bld-libstdc++, and cd 
into it:
d113 3
a115 3
You must have a recent snapshot release of Egcs built. The 
environment variable CXX should be set to find it when you run 
configure; for example, using bash:
d117 1
a117 1
  CXX=g++ ../libstdc++-2.90.4/configure --prefix=${PWD%/*}/H-libstdc++
d135 2
a136 2
  LIBINC=$(prefix)/include/g++-v3
  g++ -Wall -I$(LIBSTD) -L(prefix)/lib foo.cc -o foo
d140 1
a140 1
  -I$(LIBINC)/ext 
d142 9
a150 1
  -I$(LIBINC)/backward
d152 1
a152 1
To run it, of course you will need to say
a153 1
  LD_LIBRARY_PATH=$(prefix)/lib foo
a156 1

d158 2
a159 2
information about joining and searching the mailing list archives, CVS
access, and contribution information is now at:
d162 4
d172 2
a173 2
Dos Reis, and Ulrich Drepper.  Correspondence will be handled on the
mailing list.  
a176 1

a178 1
CXX=egcc
d181 1
a181 1
CXXINCLUDE= -I$(LIBDIR)/std -I$(LIBDIR) -I$(LIBDIR)/stl 
d190 6
a195 3
You will need a recent snapshot version of Egcs.  We have used the
egcs-1.1.1 snapshot successfully. In addion, you will need up-to-date
automake and autoconf tools: please see the website for more info.
@


1.16
log
@

1998-12-31  Benjamin Kosnik  <bkoz@@loony.cygnus.com>

	* COPYING: New file (GPL v 2).
	* LICENSE.STD: Remove.

	* testsuite/27/27stringstream.C: Change license.
	* testsuite/27/27stringbuf.C:
	* testsuite/27/27octfmt.C:
	* testsuite/27/27boolfmt.C:
	* testsuite/21/21nonmember.C:
	* testsuite/21/21compare.C:

	* string/wmemset.c:
	* string/wmemmove.c:
	* string/wmemcpy.c:
	* string/wmemcmp.c:
	* string/wmemchr.c:
	* string/wcslen.c:

	* src/wstring.cc:
	* src/string.cc:
	* src/stdstreams.cc:
	* src/stdexcept.cc:
	* src/os_raw.cc:
	* src/misc-inst.cc:
	* src/localename.cc:
	* src/locale.cc:
	* src/ios.cc:
	* src/complex.cc:
	* src/bitset.cc:

	* shadow/bits/wrap_unistd.h:
	* shadow/bits/wrap_libio.h:
	* shadow/bits/std_cwctype.h:
	* shadow/bits/std_cwchar.h:
	* shadow/bits/std_ctime.h:
	* shadow/bits/std_cstring.h:
	* shadow/bits/std_cstdlib.h:
	* shadow/bits/std_cstdio.h:
	* shadow/bits/std_cstddef.h:
	* shadow/bits/std_cstdarg.h:
	* shadow/bits/std_csignal.h:
	* shadow/bits/std_csetjmp.h:
	* shadow/bits/std_cmath.h:
	* shadow/bits/std_clocale.h:
	* shadow/bits/std_climits.h:
	* shadow/bits/std_cfloat.h:
	* shadow/bits/std_cerrno.h:
	* shadow/bits/std_cctype.h:
	* shadow/bits/std_cassert.h:
	* shadow/sys/cdefs.h:
	* shadow/wctype.h:
	* shadow/wchar.h:
	* shadow/time.h:
	* shadow/stdlib.h:
	* shadow/stdio.h:
	* shadow/stddef.h:
	* shadow/stdarg.h:
	* shadow/signal.h:
	* shadow/setjmp.h:
	* shadow/math.h:
	* shadow/locale.h:
	* shadow/limits.h:
	* shadow/libio.h:
	* shadow/float.h:
	* shadow/errno.h:
	* shadow/ctype.h:
	* shadow/assert.h:

	* math/signbitl.c:
	* math/signbitf.c:
	* math/signbit.c:
	* math/nan.c:
	* math/mycabsl.c:
	* math/mycabsf.c:
	* math/mycabs.c:
	* math/mathconf.h:
	* math/ctanl.c:
	* math/ctanhl.c:
	* math/ctanhf.c:
	* math/ctanh.c:
	* math/ctanf.c:
	* math/ctan.c:
	* math/csqrtl.c:
	* math/csqrtf.c:
	* math/csqrt.c:
	* math/csinl.c:
	* math/csinhl.c:
	* math/csinh.c:
	* math/csinf.c:
	* math/cpowf.c:
	* math/cpow.c:
	* math/complex-stub.h:
	* math/clogl.c:
	* math/clogf.c:
	* math/clog10l.c:
	* math/clog10f.c:
	* math/clog10.c:
	* math/clog.c:
	* math/cexpl.c:
	* math/cexpf.c:
	* math/cexp.c:
	* math/ccosl.c:
	* math/ccoshl.c:
	* math/ccoshf.c:
	* math/ccosh.c:
	* math/ccosf.c:
	* math/ccos.c:
	* math/cargl.c:
	* math/cargf.c:
	* math/carg.c:

	* glibc/clocale:

	* backward/new.h:
	* backward/iostream.h:

	* amm1/locale.cc:
	* amm1/locale:
	* amm1/clocale:

	* generic/locale.cc:
	* generic/locale:
	* generic/clocale:

	* bits/valarray_meta.h:
	* bits/valarray_array.tcc:
	* bits/valarray_array.h:
	* bits/utility.h:
	* bits/string.tcc
	* bits/streambuf.tcc:
	* bits/std_valarray.h:
	* bits/std_typeinfo.h:
	* bits/std_string.h:
	* bits/std_streambuf.h:
	* bits/std_sstream.h:
	* bits/std_ostream.h:
	* bits/std_new.h:
	* bits/std_istream.h:
	* bits/std_iostream.h:
	* bits/std_iosfwd.h:
	* bits/std_ios.h:
	* bits/std_iomanip.h:
	* bits/std_exception.h:
	* bits/std_cwchar.h:
	* bits/std_ctime.h:
	* bits/std_cstring.h:
	* bits/std_cstdlib.h:
	* bits/std_cstdio.h:
	* bits/std_cstdarg.h:
	* bits/std_csignal.h:
	* bits/std_csetjmp.h:
	* bits/std_complex.h:
	* bits/std_cmath.h:
	* bits/std_clocale.h:
	* bits/std_climits.h:
	* bits/std_cfloat.h:
	* bits/std_cerrno.h:
	* bits/std_cctype.h:
	* bits/std_cassert.h:
	* bits/sstream.tcc:
	* bits/slice_array.h:
	* bits/slice.h:
	* bits/sbuf_iter.h:
	* bits/ostream.tcc:
	* bits/os_raw.h:
	* bits/missing.h:
	* bits/mask_array.h:
	* bits/locfacets.tcc:
	* bits/locfacets.h:
	* bits/loccore.tcc:
	* bits/loccore.h:
	* bits/ios_base.h:
	* bits/indirect_array.h:
	* bits/gslice_array.h:
	* bits/gslice.h:
	* bits/generic_shadow.h:
	* bits/fstream.tcc:
	* bits/char_traits.h:
	* bits/c++config.h:
	* bits/basic_string.h:
	* bits/basic_ios.h:
	* bits/std_fstream.h:
@
text
@d2 1
a2 1
Release Notes   1998-10-30
d5 1
a5 1
This is the third snapshot of the libstdc++ rewrite.  It is still 
d8 24
a31 13
This snapshot is exciting because it is actually usable, more or
less.  A configure/make/make install will actually create something
you can build real programs against.  "hello, world" works!  It
should be quite usable as long as your iostream needs are limited.

It requires a recent snapshot version of Egcs.  (E.g. Egcs-1.1 may 
be insufficient.)  Please note the compiler flags recommended below.

Basic output operations now work, including integer output formatting 
(operator<< via num_put<>::put) but input has not been implemented yet. 
We have an efficient and usable copy-on-write basic_string<>. The STL 
is mostly unchanged from the last snapshot.  Gabriel Dos Reis's valarray 
has had minor improvements.
d37 3
a39 2
 - SGI-STL release 3.11 utilities, containers, algorithms, and iterators.
   (20,23,24,25), and ostreambuf_iterator<>.
d45 2
a46 2
 - ios_base, basic_ios<>, basic_streambuf<>, ostream<>, operator<<
   for integers, strings. (27)
d51 11
a61 12
 - istream, stringstream, operator>>, op<<(double), 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.
 - There has been some work to wrap the C headers in namespace std::,
   but it is not complete yet, and probably depends on compiler changes
   that may appear in -fnew-abi.

d76 2
a77 10
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.  Subsequent releases may be under a license
more like LGPL/Gnat's, but details are still being worked out.
d84 1
a84 1
Please contact Brendan Kehoe <brendan@@cygnus.com> for further details.
d89 1
a89 1
Unpack the tarball; it will create a directory libstdc++-2.90.2.
d91 1
a91 1
  tar xfz libstdc++-2.90.2.tar.gz
d103 1
a103 1
  CXX=g++ ../libstdc++-2.90.2/configure --prefix=${PWD%/*}/H-libstdc++
d137 3
a139 1
Places have changed from previous snapshots.  The web page is now at
a141 4

You can join the mailing list by sending "subscribe" to

  libstdc++-v3-request@@cygnus.com
d143 1
a143 1
Obtain the library snapshot (including these release notes) from
d147 3
a149 11
The library is maintained by Benjamin Kosnik, Nathan Myers and 
Ulrich Drepper.  Correspondence will be handled on the mailing
list.  We plan to have a separate announcement list soon and, once 
we get the license terms wrestled down, a public CVS archive.


Notes of dependencies:
----------------------

Some parts of the rewrite currently depend upon libio.h, which can be 
obtained from the glibc package, or from the egcs libio tree.
d168 8
a175 2
You will need a recent snapshot version of Egcs.  We have used 
the 1998-10-20 snapshot successfully.
a176 56
We have updated the Makefile.am to follow what the libtool and automake
maintainers have in mind.  If you start making any changes to the 
automake/configure parts, or add files for compilation, you should

a) get libtool-1.2b from ftp://alpha.gnu.org/gnu/libtool-1.2b.tar.gz

b) get autoconf 2.12.  You might need some patches which are floating
   around.  (I cannot really verify this in the moment since my autoconf
   is far from being the generic version --drepper)  (2.12 seems to
   work for me. --ncm)

c) automake-1.3b.tar.gz with a little patch which follows.  A patched
   tarball can be got from 
     ftp://ftp.cygnus.com/pub/home/drepper/automake-1.3b-ud.tar.gz

If you already have automake-1.3b apply this patch:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- automake.in-old	Tue Aug 11 19:25:55 1998
+++ automake.in	Thu Oct 15 21:30:56 1998
@@@@ -6002,8 +6002,17 @@@@
 		push (@@result, $rcurs);
 	    }
 
-	    # "EXTRA" shouldn't be used when generating clean targets,
-	    # all, or install targets.
+	    if ($X eq 'check')
+	    {
+		push (@@check, '$(' . $one_name . ')');
+	    }
+	    else
+	    {
+		push (@@used, '$(' . $one_name . ')');
+	    }
+
+	    # "EXTRA" shouldn't be used when generating clean targets
+	    # or install targets.
 	    next if $X eq 'EXTRA';
 
 	    # A blatant hack: we rewrite each _PROGRAMS primary to
@@@@ -6083,14 +6092,6 @@@@
 		&push_phony_cleaners ($X . $primary);
 	    }
 
-	    if ($X eq 'check')
-	    {
-		push (@@check, '$(' . $one_name . ')');
-	    }
-	    else
-	    {
-		push (@@used, '$(' . $one_name . ')');
-	    }
 	    if ($X eq 'noinst' || $X eq 'check')
 	    {
 		# Objects which don't get installed by default.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@


1.15
log
@
	* RELEASE-NOTES: again.
@
text
@d100 1
a100 1
  CXX=eg++ ../libstdc++-2.90.2/configure --prefix=${PWD%/*}/H-libstdc++
d119 1
a119 1
  eg++ -Wall -I$(LIBSTD) -L(prefix)/lib foo.cc -o foo
@


1.14
log
@
        * RELEASE-NOTES: add notes about optional includes, linking, running
	* src/Makefile.am: handle header installs properly
	* src/Makefile.in: regenerate from new src/Makefile.am
@
text
@d127 4
@


1.13
log
@
 	* RELEASE-NOTES: more tweaks
	* README:
@
text
@d108 1
a108 2
H-libstdc++ containing the library and headers.  To link against that
you can say, for example,
d110 10
a119 1
  eg++ -Wall -I$(prefix)/include/g++-v3 -L(prefix)/lib foo.cc -o foo
d122 4
@


1.12
log
@	* RELEASE-NOTES: more tweaks
@
text
@d5 2
a6 2
This is the second snapshot of the libstdc++ rewrite.  It is
still incomplet and incorrekt.  
d33 2
a34 1
 - ios_base, basic_ios<>, basic_streambuf<>, ostream<>. (27)
d48 2
a49 1
   but it is not complete yet.
d151 7
@


1.11
log
@
        * bits/basic_string.h: churn definition of npos again.
        * bits/ios.cc: remove #ifdef on ios_base locale member initialization
        * BUGS: clear cruft.
        * C++STYLE: Touchup for release.
        * CHECKLIST: Touchup for release.
        * DESIGN: New file.
        * LICENSE.STD: Add requirement to retain copyrights and to provide
        the license with any copies.
        * README: Update for release.
        * TODO: Minor touchup for release.
	* RELEASE-NOTES: Prepare for release.
@
text
@d8 13
a20 9
It depends on recent snapshot versions of Egcs.  (E.g. Egcs-1.1
is insufficient.)  Please note the compiler flags recommended below.

The canonical "hello, world" program now works.  We have an efficient
copy-on-write basic_string<>; however the requirement noted in 23.1.1
paragraph 10 has not been implemented.  The STL is mostly unchanged 
from the last snapshot.  Numeric output formatting (operator<< via
num_put<>::put) works, but input has not been implemented yet.  
Gabriel Dos Reis's valarray has had minor improvements.
d27 1
a27 1
   (20,23,24,25)
d29 1
a29 1
 - locale object, some facets (ctype, num_put), stubs for the rest.  (22)
d38 1
a38 1
 - istream, stringstream, etc. (27)
d67 6
a72 11
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.
d81 32
d115 5
a119 1
The web page is at <http://egcs.cygnus.com/libstdc++-v3.html>.
a123 1
The library is maintained by Benjamin Kosnik <bkoz@@cygnus.com>
d125 7
a131 1
<ftp://ftp.cygnus.com/pub/g++/libstdc++-v3/>
d148 1
a148 4
CXXINCLUDE= -I../std -I.. -I../stl 

%.o : %.cc
	$(CXX) $(CXXFLAGS) $(CXXDEFINES) $(CXXINCLUDE) -c -o $@@ $<
d150 2
@


1.10
log
@change nathan to bkoz on maintainer
@
text
@a0 1
Release Notes   YYYY-MM-DD:
d2 1
a2 57
Development tools:
------------------

We have updated the Makefile.am to follow what the libtool and automake
maintainers have in mind.  So you have to use the new versions of these
tools as well which are:

	libtool-1.2b, available at ftp://alpha.gnu.org/gnu
and
	automake-1.3b.tar.gz with a little patch which follows.  A patched
	tarball can be get at
	  ftp://ftp.cygnus.com/pub/home/drepper/automake-1.3b-ud.tar.gz

If you already have automake-1.3b apply this patch:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- automake.in-old	Tue Aug 11 19:25:55 1998
+++ automake.in	Thu Oct 15 21:30:56 1998
@@@@ -6002,8 +6002,17 @@@@
 		push (@@result, $rcurs);
 	    }
 
-	    # "EXTRA" shouldn't be used when generating clean targets,
-	    # all, or install targets.
+	    if ($X eq 'check')
+	    {
+		push (@@check, '$(' . $one_name . ')');
+	    }
+	    else
+	    {
+		push (@@used, '$(' . $one_name . ')');
+	    }
+
+	    # "EXTRA" shouldn't be used when generating clean targets
+	    # or install targets.
 	    next if $X eq 'EXTRA';
 
 	    # A blatant hack: we rewrite each _PROGRAMS primary to
@@@@ -6083,14 +6092,6 @@@@
 		&push_phony_cleaners ($X . $primary);
 	    }
 
-	    if ($X eq 'check')
-	    {
-		push (@@check, '$(' . $one_name . ')');
-	    }
-	    else
-	    {
-		push (@@used, '$(' . $one_name . ')');
-	    }
 	    if ($X eq 'noinst' || $X eq 'check')
 	    {
 		# Objects which don't get installed by default.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Release Notes   1998-7-24:
d8 2
a9 2
It depends on patches in the snapshot versions of Egcs.
Please note the compiler flags recommended below.
d11 6
a16 10
The primary change from the previous snapshot is that the SGI 
STL version incorporated (which was 3.1) is now 3.11.  There 
have been minor fixes in bits/basic_string.h and complex.cc, and 
uglifying more names in valarray (sorry Gaby), and some work 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 diffs between the snapshots won't be very
useful.
d21 1
a21 3
 - exceptions, op new etc.(18, 19)
 - rewritten basic_string<>.  (21)
 - locale, some facets, stubs for the rest.  (22)
d24 6
a29 2
 - Gabriel dos Reis's valarray<>, and Drepper's complex<>. (26)
 - ios_base and basic_ios<>. (27)
d34 3
a36 3
 - streambuf, ostream, istream, etc. (27)
 - most facet implementations are stubs. (22)
 - no optimizations for small-footprint/low-overhead. (22,27)
d39 1
a39 1
 - it has not been audited for standard conformance in the areas that
d41 3
a43 1
 - it has not been made thread-safe.
d53 1
a83 2
Contact:
--------
d89 1
a89 1
The library is maintained by Benjamin Kosnik <bkoz@@cygnus.com>.
d103 1
a103 2
If you start making any changes to the automake/configure parts, or add files
for compilation, you should
d105 4
a108 1
a) configure using --enable-maintainer-mode
d110 2
a111 1
b) get libtool-1.2b from ftp://alpha.gnu.org/gnu/libtool-1.2b.tar.gz
d113 8
a120 1
c) get autoconf 1.12.  You might need some patches which are floating
d122 6
a127 1
   is far from being the generic version --drepper)
d129 1
a129 1
d) get automake 1.3 to which you have to apply this patch:
d132 37
a168 11
--- automake.in-old	Fri Jul 10 19:45:03 1998
+++ automake.in	Fri Jul 10 19:48:44 1998
@@@@ -1873,7 +1873,7 @@@@
 	    # Yuck.
 	    $rpath = 's/\@@RPATH\@@//go;';
 	}
-	else
+	elsif ($instdirs{$onelib} ne 'noinst')
 	{
 	    $rpath = ('s/\@@RPATH\@@/-rpath \$(' . $instdirs{$onelib}
 		      . 'dir)/go;');
a169 11

Testing was done with 

CXX=egcc
CXXFLAGS=  -g -Wall -O3 -ansi -fpedantic-errors \
  -fnew-abi -fno-honor-std -fstrict-aliasing 
CXXDEFINES= 
CXXINCLUDE= -I../std -I.. -I../stl 

%.o : %.cc
	$(CXX) $(CXXFLAGS) $(CXXDEFINES) $(CXXINCLUDE) -c -o $@@ $<
@


1.9
log
@Mention new tool requirements.
@
text
@d147 1
a147 1
The library is maintained by Nathan Myers <http://www.cygnus.com/~ncm>.
@


1.8
log
@
	* move streambuf iterators to bits/sbuf_iter.h
	* optimize streambuf iterators
	* begin generalizing streambuf
	* begin implementing num_get<>::get (starting with bool)
	* patch stl/bits/stl_config.h so that relops operators are
	  contained properly, out of the way.
@
text
@d1 57
@


1.7
log
@
Prep for second snapshot.
@
text
@d11 10
a20 5
Primary change from the previous snapshot is that the SGI STL 
version incorporated (which was 3.1) is now 3.11.  There have
been minor fixes in bits/basic_string.h and complex.cc, and 
uglifying more names in valarray (sorry Gaby), and some work 
on bits/std_streambuf.h -- member snextc() is now optimal.
@


1.6
log
@Fix contact info.
@
text
@d2 1
a2 1
Release Notes   1998-7-15:
d5 2
a6 2
This is the first snapshot of the libstdc++ rewrite.  It is
incomplet and incorect.  (That should change quickly, now.)
d8 8
a15 2
It depends on patches in the latest CVS version of Egcs.
The next released snapshot will have these patches.
d23 1
a23 1
 - SGI-STL release 3.1 utilities, containers, algorithms, and iterators.
@


1.5
log
@Mention web page, mailing list, and ftp site.  (Correct?)
@
text
@d72 11
a82 5
There is a web page at <http://egcs.cygnus.com/libstdc++-v3.html>.
You can join the mailing list by sending "subscribe" to 
<libstdc++-v3-request@@cygnus.com>.  The library is maintained
by Nathan Myers <ncm@@cantrip.org>.  Obtain the library snapshot
(including this document) from <ftp://ftp.cygnus.com/libstdc++-2.90.tgz>.
@


1.4
log
@minor tweaks, mention libio.h dependency
still need to add the list that will be used for discussion; underway...
@
text
@d1 1
d70 8
d81 2
a82 2
Some parts of the rewrite currently depend upon libio.h, which can be obtained 
from the glibc package, or from the egcs libio tree.
@


1.3
log
@RELEASE-NOTES: add note about compiler version & flags, clarify
  license description
other files: fix up copyright notice
bits/std_cwchar.h: move "#include" above use of wchar_t.
bits/std_iomanip.h: fix typos.
@
text
@d1 1
a1 1
Release Notes   1998-7-13:
d10 1
a10 1
What works:
d38 1
a38 1
 - RELEASE_NOTES - this
d50 1
a50 1
program".  Thus, like LGPL it permits linking with the library without 
d67 7
d78 2
a79 1
If you start making any changes to the sources you should
d85 1
a85 1
c) get autoconf 1.12.  Yoy might need some patches which are floating
d113 1
a113 1
%.o : %.c 
@


1.2
log
@Add description of development tools.
@
text
@d7 2
a8 2
It depends on features in snapshot versions of Egcs.  Snapshot 19980628
is sufficient.
d24 3
a26 3
 - streambuf, ostream, istream, etc.
 - most facet implementations are stubs.
 - no optimizations for small-footprint/low-overhead.
d31 1
a31 2
 - it has not been made thread-safe (though it's "thread-safe-ready",
   if that means anything to you.)
d46 15
a60 11
The license is similar to, but weaker than, LGPL.  It allows linking
with the library without publishing source code for the whole program.
Unlike the BSD license, it doesn't allow embargoing changes.  This 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".  The effect is that this library should be usable by anybody
(including a commercial venture) 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
licensed source files need not be released.
d96 12
@


1.1
log
@Notes for 98071x snapshot
@
text
@d4 1
a4 1
This is the first snapshot of the libstdc++ rewrite.  It is 
d7 1
a7 1
It depends on features in snapshot versions of Egcs.  Snapshot 19980628 
d16 1
a16 1
 - SGI-STL release 3.1 utilities, containers, algorithms, and iterators. 
d27 1
a27 1
 - C headers are not wrapped in std:: namespace; C macros are 
d29 1
a29 1
 - it has not been audited for standard conformance in the areas that 
d31 1
a31 1
 - it has not been made thread-safe (though it's "thread-safe-ready", 
d49 8
a56 8
Unlike the BSD license, it doesn't allow embargoing changes.  This 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".  The effect is that this library should be usable by anybody 
(including a commercial venture) 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 
d65 28
@

