home *** CD-ROM | disk | FTP | other *** search
- This is the ELF binary release, 2.6.2.5, of the GNU C++ library 2.6.2
- for Linux. You have to install gcc 2.7.0, which has yet to be released,
- or above to compile it. You need gcc 2.6.3/ELF and libc 5.0.9 or above
- to use it. Please don't use it with older gcc or libc.
-
- libstdc++.a and stl are in. But libg++-2.6.2/libstdc++/stl/README:
-
- ================
- This directory contains Hewlett-Packard's implementation of
- the C++ Standard Template Library.
- It is the October 21, 1994.
- It has been extensively modified so it can be compiled by g++.
- (Version 2.6.1 or newer is recommended.)
- Some of these hacks are pretty ugly, but are needed to work around
- bugs in g++ (which we are working on).
- Thanks to Carsten Bormann <cabo@informatik.uni-bremen.de> for
- coming up with many of these work-arounds. However, I have
- come up with alternate (possibly inferior!) work-arounds in some cases.
-
- It is easy to crash g++ by using STL. (I found the function-object
- templates in function.h to be especially fruitful in that respect!)
- ***SO DON'T BOTHER SENDING BUG REPORTS THAT STL CAUSES G++ TO CRASH***,
- or otherwise fails to compile it. unless you also have a fix or
- improved work-around!!! WE KNOW!
-
- You should either compile without -O, or also use -felide-constuctors.
-
- Also note that this is based on a pre-Draft Standard for C++.
- Thinks are likely to change. For example, the header file names
- are very likely to change. The Allocator interface will change. Etc, etc.
- CYGNUS MAKES NO COMMITTMENT (yet) TO SUPPORT BACKWARD COMPATIBILITY FOR STL.
-
- For examples if things that should work, look in the ../tests directory.
-
- --Per Bothner
- Cygnus Support bothner@cygnus.com
-
- -----------
- Here is Carsten Bormann's notes on his changes:
-
- This is a set of seriously bletcherous hacks to HP's wonderful STL
- library. The objective is to hammer STL through GCC 2.6.1 (2.6.0
- seems to work, too, until you run into one of its bugs) so that us
- academic types can play with STL, not to make STL better in any way.
-
- You need to have the STL release from butler.hpl.hp.com:stl/sharfile.Z
- that has as its first line in the read.me:
-
- >> This release (dated October 21, 1994) is a minor bug fix release. <<
-
- Many of these changes make the library much less efficient. All
- changes (except vector<bool> -- see below) are due to bugs (or
- non-features) in GCC, not due to any problems in STL. Do not judge
- the performance of STL (code space, data space, compile time
- complexity, run time complexity) from these hacks -- they will be much
- better when GCC implements more of Standard C++. May the authors of
- STL forgive me.
-
- The class templates generally have been hacked in the following ways:
-
- 1) Static data members have been eliminated, generally by making them
- non-static members or member functions (both of which generally
- seriously impairs performance -- e.g., each rb_tree iterator now
- carries a copy of NIL since there is no other place to put it). The
- template list<> has suffered most.
-
- Allocators are still static members, since I changed defalloc.h to
- have static members only. (This makes allocators less useful, but
- still useable.) (Note that a static member without data need not be
- initialized.)
-
- 2) For member functions defined outside the class template, parameters
- of type tmpl<T>::something have been changed. In some cases, a class
- derived from the type has been used; in some cases the function simply
- has been made inline (again causing code bloat).
-
- 3) A number of function templates in iterator.h have been declared
- again for derived classes defined by templates, usually by making them
- friend functions and using the name injection feature of GCC. I don't
- understand the relevant sections of the WP, so I don't know if this
- hack will cease to work in more conforming versions of GCC or become
- unneccessary or simply STL won't work with standard C++. Some of
- the necessary friends may still be missing...
-
- defalloc.h has lost much of its functionality: see above.
-
- bool.h has been made ineffective, since GCC supports bool.
-
- Finally, bit_vector has been changed into a proper specialization of
- vector<bool>.
- [Not in this libstdc++ release. -PB]
-
- demo.cc and Makefile build a small demo program for a number of
- features of STL. This is not a test suite, so I certainly have not
- found all my mistakes (could anyone in possession of such a test suite
- please run it over these hacks?). Send bug reports (that follow GNU
- bug reporting conventions) to
-
- cabo@informatik.uni-bremen.de
-
- Note that I generally do not have time to answer questions about STL.
-
- Carsten Bormann
- ====================
-
- The primary ftp sites for the compiler/C library are tsx-11.mit.edu
- under pub/linux/packages/GCC and sunsite.unc.edu under pub/Linux/GCC.
-
- I strongly discourage compiling libg++ 2.6.2.5 yourself unless you know
- what you are doing. I have made many modifications/bug fixes. I have
- to work around the gcc bugs. I hope my changes can be merged in the
- next libg++ 2.6.x or 2.7.x and gcc gets fixed. But I don't know what
- will happen.
-
- To compile libg++ 2.6.2.5 is tricky. You should first apply the
- patches, libg++-2.6.2.5.diff.gz, against libg++ 2.6.2. You have to
- make sure all the libio/*.c are never compiled, libio/_G_config.h
- is never built and not used for Linux. I don't have the time to
- document what I did. You have to figure it out yourself.
-
- The file list:
-
- 1. libg++-2.6.2.5.bin.tar.gz
-
- REQUIRED. Both static and shared ELF libraries for libg++,
- libiostream, and libcurses++, header files and genclass.
- It is libg++ 2.6.2.5. To install
-
- su root
- cd /
- gzip -dc libg++-2.6.2.5.bin.tar.gz | tar xvvf -
-
-
- H.J.
- hjl@nynexst.com
- 05/20/95
-