@@@STARTPACK(stl;SGI Standard Template Library)

@@@OSR5DIST(http://www.sco.com/skunkware/uw7/devtools/stl/)
@@@UW2DIST(http://www.sco.com/skunkware/uw7/devtools/stl/)
@@@SOURCE(http://www.sgi.com/Technology/STL/)
@@@HOMEPAGE(http://www.sgi.com/Technology/STL/)

<P>
The Silicon Graphics STL 3.11 is a freeware implementation of the
new C++ Standard Template Library, with a few other parts of the new 
ANSI/ISO C++ standard library also included (string, bitset, auto_ptr).
<P>
It is available from
<P>
	http://www.sgi.com/Technology/STL/
<P>
and is the best source of C++ standard library classes until such 
time as SCO bundles a full C++ standard library implementation with
its C++ compiler.
<P>
This distribution includes the full SGI STL 3.11 release together 
with a set of changes to make it work on SCO platforms.  In cases
where SGI files have been modified, the original is preserved with
an ..orig suffix.
<P>
The SGI site mentioned above has a full set of functional documentation 
on the SGI STL; it is also included in this distribution.  Start at
file://localhost/usr/local/man/html/stl/index.html.
<P>
In order to use the SGI STL 3.11 on SCO platforms (UW7, UW2, OSR5)
you must use the UDK C++ compiler, version 7.0 or later.  You cannot 
use the older SDK C++ compilers on either UW2 or OSR5.
<P>
To compile the SGI STL 3.11 with the UDK compiler, simply do
<PRE>
	$ CC -I/usr/local/include/stl ...
</PRE>
Note that the whole implementation is in header files, so there is 
no library to build.  Similarly, you shouldn't have to worry about 
template instantiation issues; use of the default CC -Tauto option 
should work well.
<P>
If you are using the STL in a multi-threaded environment, compile
with the CC -Kthread option, as usual.  This will enable the POSIX
threads support in the SGI STL.  Note however that currently POSIX
threads are only supported on UW 7.0.1 and up.  Support has also been added
for UnixWare threads on pre-UW 7.0.1 platforms.
<P>
[The UW 7.0.1 upgrade can be downloaded free of charge from ftp.sco.com.]
<P>
These are the changes SCO has made for the SCO UDK C++ compiler 
(all are based on the macro __USLC__ being defined, which the UDK CC
command does):
<P>
<DL>
<DT>stl_config.h
<DD>
	Set the appropriate C++ language defines for our EDG 2.35-based 
	compiler (also works for the EDG 2.39-based compiler in UW 7.1.0).  
	Enable _PTHREADS when CC -Kthread is active.  

<DT>stl_alloc.h
<DD>
	Work around a problem with the UDK compiler not accepting the
	generalized _Alloc_traits::allocator_type declaration (due to
	rebind weirdness).  The work-around probably means that you 
	need to specialize _Alloc_traits if you want to use it, but
	as is user-defined allocators seem to work.

<DT>stl_config.h, stl_alloc.h, thread_alloc.h, thread_alloc
<DD>
	Add _THREADS for UnixWare-style threads support (contributed by
	Jochen Schlick, schlick@comsoft.de).

<DT>string
<DD>
	Add a cast to avoid an annoying warning.

<DT>stl_list.h, stl_iterator.h, stl_map.h, stl_multimap.h, stl_multiset.h, 
    stl_queue.h, stl_set.h, stl_stack.h, string
<DD>
	All modified to conform to the SCO UDK compiler's interpretation
	of template friends declarations.

<DT>ropeimpl.h, stl_rope.h
<DD>
	Same as above, for the SGI extension rope class (also contributed by
	Jochen Schlick).
<P>
	Note:  similar problems no doubt occur in the other SGI extension-
	to-the-standard hash and slist classes.  These have not been changed; 
	by looking at the changes for the above files, it should be clear how 
	to modify them if you are so interested.
</DL>
<P>
Note that compiling the bitset class results in an internal compiler error
in the UW7 UDK compiler; this is fixed in the UW 7.0.1 C++ compiler.
There have also been an intermittent compiler internal error in compiling
STL member template declarations; this is fixed in the UW 7.1.0 C++ compiler,
and is also be available as 
<A HREF="ftp://ftp.sco.com/SLS/ptf7123a.Z">ptf7123a</A> against UW 7.0.1.
<P>
There is no official support from SCO for these modifications, although
we are interested in hearing of any problems in using them and will
try to help out.
<P>
<HR>
<P>
The following notice is reproduced from the SGI STL 3.11 distribution:
<P>
Copyright © 1996
Silicon Graphics Computer Systems, Inc.
<P>
Permission to use, copy, modify, distribute and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appears in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation. Silicon Graphics makes no representations about the
suitability of this software for any purpose. It is provided "as is" without
express or implied warranty.
<P>
Copyright © 1994
Hewlett-Packard Company
<P>
Permission to use, copy, modify, distribute and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appears in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation. Hewlett-Packard Company makes no representations about the
suitability of this software for any purpose. It is provided "as is" without
express or implied warranty.
<P>

</P>

@@@ENDPACK

