This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

996
STLPORT/etc/ChangeLog Normal file
View File

@@ -0,0 +1,996 @@
The following changes were made in 4.6 since 4.5.3 release:
---
* A few ANSI conformance fixes (thanks Richard Peng)
* Performance optimization for string::reserve (thanks Marc)
---
* icc patches applied (Thanks Blaine Kubesh)
* _thread.c, _thread.h: merged thread redesign from CVS (thanks Petr Ovchenkov)
----
* iostream.cpp, locale_impl.cpp : static initialization made robust for case of
dynamic loader circular depandancies (Thanks Alexey Sarytchev for the report)
----
* _function.h : integration of a new workaround for mem_fun_* family
for compiler having return void bug (Thanks Pavel Kuznetsov).
* stl_solaris.h : v8plus compilation fix (Thanks Mukesh Kapoor)
* num_put_float.cpp : FreeBSD fix
* _construct.h : fixed case for compilers with default integer
constructor bug
---
* fstream.cpp : text file stream position bug correction (thanks Christopher Kohlert)
---
* _num_put.c : Correction of the display of the min 64 bits signed integer values
like numeric_limits<__int64>::min() on WIN32 for instance (thanks Anders Dalvander)
---
* _num_put.c : Add of the '+' sign when requested for the unsigned integer display
(thanks Francois Dumont)
---
* debug : many missing iterator invalidation corrected (thanks Detlev V.Davidson and Francois Dumont)
---
* _new.h : introduction of a new config compiler switch for those which do define
bad_alloc but that do not throw it! (thanks ?)
---
* _new.h : class nothrow_t changed to struct nothrow_t (Thanks Francois Dumont)
---
* _bvector.h : Addition of the |= and &= operator on the _Bit_reference struct (thanks Ed Rice)
---
* Performance bug in type_traits.h fixed (Thanks Francois Dumont)
---
* Added Linux spin lock code ()
---
* Added GCC-3.x configurations
* Fixed HP aCC support
* Added OpenWatcom support
* version numbers bumped
* iostreams ported to EMX (gcc on OS/2) (Thanks Martin Schaffoener)
* iostreams ported to CRAY Unicos C90, T90, and J90 (Thanks Geir Johansen)
* stl_sunpro.h : fixed mbstate definition for SUN 4.2 (thanks lengzq)
* complex.cpp, _complex.h : template<> used for specializations
* _num_put.c : unised locale variable removed (thanks Petr Ovchenkov)
* _algo.h : __reverse beautified (thanks Kabanov)
* dll_main.cpp : force_link() forced to be linked in
* stl_msvc.h : config changes for .NET
* _auto_ptr.h : "struct" changed to "class"
* _istream.c : M_read_unbuffered fixed (thanks Stefan Schwarzer )
* stl_gcc.h : added missing inclusion for SCO platform (thanks Emmanuel Soden)
* _tree.c : optimized insert_unique (thanks Timothy)
* _algo.c : relaxed type requirements for lower_bound, upper_bound, binary_search
* _algo.h : adjacent_find() expressed with compare-function flavour
* cpp_runtime/typeinfo : made adjustments for .NET (Thanks Daniel)
* cstd/cassert : guard removed (thanks Evan Cheng)
The following changes were made in 4.5.3 since 4.5.1 release:
* iostreams ported to Windows CE (thanks Andrew Waters)
* iostreams ported to AmigaOS (thanks Steven Solie)
* iostreams ported to NCR 3.x (thanks Emmanuel Soden)
* _hash_map::operator[] : enhanced to avoid calling default object constructor
(Thanks Yuri Taranenko for the report)
* Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report)
* Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers)
* _sstream : fix to account for ios_base::app flag properly
* type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report)
* stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas)
* <typeinfo> : fixed MS workaround (thanks Wil Evers, Andrew Ushakov)
* _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in.
* _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson)
* a bunch of MPW fixes (thanks Tsutomu Yoshida)
* _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas)
* _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov)
* _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser)
* comlex_trig.cpp : fixed bug on SGI (thanks Mortis)
* A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom)
* *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report)
* _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report)
* _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified
* _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg)
* test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures
The following changes were made in 4.5.1 beta 1 since 4.5 release:
* _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode
(no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL.
C library header files wrappers become obsolete if this mode is used and no own namespace is selected.
They will be moved out to distinct directory in the next release, and default is going to be no own namespace
with own iostreams.)
For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings.
* iostreams ported to SCO OpenServer (thanks Emmanuel Soden)
* sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC
* dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace.
* _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Sch<63>pflin)
* _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS
* fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter)
* etc/*.txt : files list broken up into several categories for future reorganization
* stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting)
* _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report)
* char_traits.h : fpos<> operators == made members (thanks Thomas Witt)
* _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor)
* _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM)
* gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas)
* common.mak : default install directory for Unix set to /usr/local
* _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony)
* _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen)
* _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn )
* _num_put.c, common_rules.mak : patches by Levente Farkas
* etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas)
* _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea)
* debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati)
* stl_bc.h : restored automatic library link directive for cases when STLport is not a native library
* _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal)
* MIngw32 patches integrated (thanks Wu Yongwei)
* src/complex_impl.h : case for DEC CXX changed to general, instead of extension functions for float and long double, to get it compliled with CC 6.1 (thanks Tony McConnell)
* dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig)
* _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat)
* test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig)
* typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati)
* debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati)
* _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea)
* stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom)
* _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic)
* _num_put.c : fixed overflow case with grouping (thanks Will Evers)
* _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams)
* debug/_vector.h : debug version of push_back() added (thanks)
* Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev)
* wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev)
* Changes for BCB6 integration (thanks Nathan York)
* Removed all dead code blocks marked by #if OBSOLETE and #if 0
* Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom)
* complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev)
* _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic )
* _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer)
* stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2
* <new> : __stl_new definition put into the namespace (thanks Satoshi Nakamura)
* bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou)
* stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case
* debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren)
* _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann)
* stl/_alloc_old.h : restored (thanks Gert Grossmann)
* stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman)
* src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case
The following changes were made in 4.5 release since 4.5 beta 8 :
* _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms
* config/stl_msvc.h, <cmath> : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5
(Thanks Alberto Barbati)
* src/vc6.mak : RC macro definition restored (Thanks Graham)
* stl/_cmath.h, <cmath> : parts of code moved to <cmath> as <valarray> uses it (Thanks Synge Todo)
* stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov)
* src/gcc-*.mak : removed -nostdinc++ option
* stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report)
* fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy)
* stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp)
* dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb)
* _ostream.c : fixed formatting bug for width()==1
* config/_epilog.h : added option pop section for Borland.
* stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken)
* vc7.mak makefile added for MS VC++ 7.0 (.NET)
* fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0
* stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available.
* _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input)
* _cmath.h : added guard to mask additional overloads (thanks Tim Smith)
* stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor)
* type_traits.h : __default_constructed() inlined (Thanks Matt Davies)
* new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken)
* stlport/using/h/streambuf.h added (Thanks Gennadiy)
* A bunch of changes for Borland static and DLL compile (Thanks Nathan York)
* stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati)
* stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer)
* _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash)
* _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary)
* config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati)
* gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that.
The following changes were made in 4.5 beta 8 since 4.5 beta 7 :
* stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati)
* bcc55.mak : c_locale.c added to the link command (thanks Steve Loves)
* _iterator_base.h & many other places : iterator tags are being accepted by const reference
instead of value, to fix segmentation faults experienced on certain platforms with beta7.
That also should improve efficiency on same platforms (apparently, empty unreferenced
objects with no constructors/destructors were copied on the stack when passed by value).
Accompanied change eliminates hardcoded deference hack used in previous beta.
Thanks everybody who reported this.
* stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms
where native linker does not let gcc to implement automatic instantiation of static
template data members (Tru64, AIX, HP-UX).
It is being put in this file as there is no automatic way to check if we are using GNU ld or not.
* _range_erors.h : depandancy on <stdexcept> and <string> removed for own iostreams mode
(thanks Doug Gilbert)
* debug/_list.h : "typename" added in new methods (thanks Doug Gilbert)
* _config.h, src/common_macros.mak : beta version number bumped
* src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo)
* stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst)
* _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs
(Thanks Anton Ephanov)
* test/eh/gcc.mak : directories stuff fixed (Thanks Brodie)
* stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida)
* locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida.
* _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi)
* _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins
to zero when default constructed (thanks Alberto Barbati)
* _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati)
* stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser)
* stl/_cmath.h : extracted from <cmath> for better decoupling
* stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style.
* config/stl_gcc.h : gcc-3.0 now supported
* src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock)
* using/iostream : included using/istream and using/ostream
* dll_main.cpp : force_link() fix to prevent numeric_limits static members and
_M_increment/decrement from _tree.c from being optimized out by VC++
(thanks Sofus Mortensen, Alberto Barbati )
* _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt)
* stl_bc.h, <exception> : fixed Borland C++ import of unexpected handler stuff
* stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile
* type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too)
The following changes were made in 4.5 beta 7 since 4.1 beta 6 :
* sparc_atomic.s : file missing from the distribution restored
* etc/ subdirectory created; miscellanous files moved there
* STLport ported to BeOs, complete with iostreams (thanks John Maddock)
* Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed;
* "prepare" target added to all makefiles in src/; should be run before using STLport;
on most platforms it's empty, on some of them it creates necessary symbolic links, etc.
* stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman)
: default parameter in constructor bug fixed (Thanks to Alex Vanic)
* stl_msvc.h : explicit template function agruments enabled for VC++;
* stl_wince.h : added <windows.h> inclusion
* stl/_limits.h : numeric_limits<bool>::digits changed from 0 to 1 (Thanks Mukesh Kapoor)
* stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez)
* stl_msvc.h : explicit template function agruments enabled for VC++;
use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input)
* fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner)
* fstream.cpp : ULL macro fixed for Win32
* fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id,
for _M_close on Win32 (Thanks Stephen Baker)
* fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer)
* _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren)
* stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin)
* iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor)
* stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon)
* stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS
* New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon)
* _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel)
* SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew)
* dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith)
* type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman)
* stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida
* stl_gcc.h : added path for <exceptions> et al for gcc-2.95.3 on FreeBSD (Thanks to
* _tree.h /_tree.c : pointers used as return values instead of iterators for implementation
functions, for efficiency.
* _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report)
* dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold)
* beta suffix in common_macros.mak updated (thanks to Whitney Kew)
* c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati)
* c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith)
* _threads.h : fixed _DECTHREADS block to work on both DEC and HP
* _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report)
* stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter)
* _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond)
* _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker)
* stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker)
* stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker)
* debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn)
* debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation
* stl_watcom.h : added switches; disabled own iosterams by default;
enabled ->() operator for iterators (thanks Steven Green)
* <exception> : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov)
* _string_io.c : operator << : fixed width() interpretation bug
* stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert)
The following changes were made in 4.1 beta 6 since 4.1 beta 5 :
* _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory
Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report)
* _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report)
swap() changed not to invalidate any iterators, as prescribed by the standard
* forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG
(without _STLP_DEBUG it seems to be binary compatible even without that)
* facets_byname.cpp source introduced to replace all xx_byname.cpp files;
restored separate facets .cpp complilation (they used to be included in locale_impl.cpp)
* introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator
(_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now.
* Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report)
* _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report)
* monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant)
* <iostream> : fixed _STLP_OUTERMOST_HEADER_ID macro
* cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case.
* _sparc_atomic.h : fixed and improved atomic ops for gcc
* test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx
* config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates
* mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith)
* locale Win32 bug fixed (thanks to Alberto Balbarti)
* mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith)
* "make clean" glitches fixed (thanks to Whitney Kew for the report)
* _fstream.c : fixed codecvt bug for variable width encoding
* _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry)
* c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith)
* extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report)
* stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker )
* fixed bugs in "make install" on Unix (thanks to Carlos Paniago)
* dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati)
* dll_main.cpp : a dummy function added to force <limits> guts for static VC++ link (thanks to Alberto Barbati)
* gcc-linux.mak : flags fixed (thanks to Levente Farkas )
* stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov)
* versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback)
* NetBSD makefiles fixed
* A bunch of fixes by Tsutomu Yoshida : MPW fixes plus :
* stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped.
* typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration.
Otherwise three classes will not be included in the namespace std when #include <typeinfo>.
* _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev)
* stl_msvc.h : removed erroneous _STLP_USE_TEMPLATE_EXPORT setting which caused major code bloat for native streams builds on VC++ (Thanks to Johannes Brunen for the report)
* _string_io.c : fixed Intel C++ compilation bug in native streams mode
* fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best)
* stl_gcc.h : disabled wide function imports for linux (some xx_POSIX macro should be really used; disabled for all linuxes for now). Thanks everybody for the reports.
* KAI C++ 4.0 is now supported on SUN
* MAC OS X compilation fixed (thanks Patrick Luby for the patch)
* HP aCC fixes by Michael Tsirkin
* "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems.
* debug/_iterator.c : fixed SUN 6.0 compiler internal error
* typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed)
* debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added.
(Thanks to dgehri)
* debug/_slist.h : missing sort() (template and regular) interface added
* _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report)
* template constructors for containers changed to be one version with default allocator agrument, where possible.
* remaining _STL_ prefixes changed to _STLP_
* Solaris 7 compilation fixed
* fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input)
The following changes were made in 4.1 beta 5 since 4.1 beta 4 :
* All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL.
That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams.
For backward compatibility, most of user-settable __STL_xxx macros are accepted.
* Versioning of shared libraries made UNIX-compliant
* Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed.
* <new> : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter)
* stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint
(thanks to Micheal Tsirkin for the report and patch)
* _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic)
* _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov)
* fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith)
* *.SUNWCCh files changed to regular files; moved to "stlport" directory
* pthread_alloc : split into <pthread_alloc>/<stl/_pthread_alloc.h>
* lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC)
* Mac OS X support introduced (thanks to Patrick Luby)
* SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai)
* SGI iostreams ported to NetBSD (thanks to Michael Rauch)
* FreeBSD build fixed, now builds for wchar_t too
* DEC CXX build fixed; restricted to dynamic lib only
* SGI MIPSpro build fixed; GNU make has to be used
* Set of HP fixes by Michael Tsirkin
* Set of Watcom fixes by Ricardo Gayozo
* Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated
* Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov
* debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen)
* src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovchenkov), fix for day of week order (thanks to Danny Smith),
fix for null-termination in my_ltoa (thanks to Serge Pashkov)
* Some warnings in debug mode fixed (thanks to Marco)
* type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion),
__cdecl added for Win (thanks to Todd Wilson)
* debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati)
* stl/_ostream.h : << operator specializations added for compilers w/o partial ordering
(thanks to Alberto Barbati for pointing this out).
* "make install" on UNIX : fixed the target not to remove lib directory;
default installdir restored to be /usr/local (thanks to Jeff de Vries for the input)
* _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin)
* _relops.h header obsoleted; some extra includes removed
* __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able
to treat const members as coplile-time constants; enum used for them (e.g VC++).
Thanks to Dean Sturtevant and Gavin Collins for the ideas.
* stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report)
* debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report)
* streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov)
* istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer)
* _num_put.c : fixed corner case for 0x8000000 output.
* num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly
* _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put
* gcc makefiles in src : "-fno-implement-inlines" removed
* Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode.
* ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant.
* debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report)
* debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report)
* _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report)
* _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum)
* _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole)
The following changes were made in 4.1 beta 4 since 4.1 beta 3 :
* Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe)
used to provide following enhancements :
- type_traits are automatically specialized for all pointer types for all compilers,
which makes them able to utilize type_traits-based optimizations when dealing with pointer types,
automatically.
- all functions specialized for pointers and optimized via __type_traits
( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers!
- generic __value_type()/__difference_type()/__iterator_category() are written so user does not have
to supply any of its own even when partial specialization is not available.
(Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still)
* <iterator> : by default, non-standard iterator query names like
value_type()/difference_type()/iterator_category() are not used
* <algo> : major revision:
- algorithms without explicit Compare() function expressed via the one that has it where possible.
This considerably reduces header size and reduces code bloat for programs which use both flavours of
those algorithms.
- some function bodies moved between .c and .h
- all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore
- find() specialized for random access iterators regardless of partial spec.
* Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions
* src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers;
* locale subsystem initialization : startup changed to use statically allocated structures as much as possible;
* <stl/_function.h> : basic stuff moved to _function_base.h ;
other STL headers now include _function_base.h instead
* _threads.h : MT support for OS/2 added (only tested with VAC++)
* _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch)
* stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present
(Thanks to Thomas Witt et al.)
* _ostream.h : fix for default unsigned char (thanks to Holger Stasch)
* all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header.
* Fujitsu C++ Compiler support added (thanks to Holger Stasch)
* Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch).
* More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch).
* Fixes for SGI MIPSpro compilers (Thanks to Ralph)
* Fixes for HP aCC compiler (Thanks to Michael Tsirkin)
* stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs.
* hash_map::swap() in debug mode fixed (thanks to Anton)
* __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph)
* __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor)
* _bitset.h - member workaround operators made const (thanks to dzwick)
* _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas)
* <exception> - now includes exception.h if only that is available.
* vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick)
* fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith)
The following changes were made in 4.1 beta 3 since 4.1 beta 2 :
* list<>::clear() : protected access bug fixed
* __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case,
as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help)
* stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN,
constants initialization fixed (thanks to Ingo Donasch)
* real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in.
* stl_user_config.h, _config.h : changed default to not define relops:: operators
in __STL_NO_NAMESPACES mode.
* _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore
* "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries.
* "src" : files merged to get less compilation time and less space overhead for imperfect compilers
* "debug" flavour of STLport excluded from default build and auto-select ;
please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic"
if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds.
* stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed.
* FreeBSD compile fixed; makefiles added.
* All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch)
* _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov)
* *gcc* mak : some files renamed to gcc-platform mak
* "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o
* "extern template" extension used for VC++ & standard i/o classes (was for DLL only)
* _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h
* _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement
* More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag
* <iostream>, <locale> : initialization of locale subsystem made independent of standard streams.
sync_with_stdio call before iostream initialization now works.
* <fstream>, <fstream.h> : added initialization code for locale , same as in <locale>
(thanks to George Trojan for the report)
* fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon)
* <cmath>, <cstdlib> : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for
the suggestion), plus "long long" flavour where applicable.
* __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion)
* _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson)
* _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan)
* stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken)
* stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline).
* debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion)
* src/sgi_mipspro.mak added, for SGI MIPSPro compilation
* merged series of HP/SUN minor fixes by Petr Ovchenkov
* merged series of Intel 4.5 fixes by Serge
* vc_common.mak : -Yd dropped, as obsolete (thanks to psw)
* _range_errors.h:95 : unused argument removed (thanks to George Trojan)
* _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov)
* _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report)
* <typeinfo.h>, <typeinfo> : mutually-exclusive machanism added to allow including both in same unit.
* Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies
The following changes were made in 4.1 beta 2 since 4.1 beta 1 :
* _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition
(thanks to Charles Burfoot for the report)
* _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec.
* _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin)
* msvc_warnings_off.h : fixed "and" typo
(thanks to Charles Burfoot for the report)
* num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report)
* Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews)
* stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report)
* old_hp/iterator.h : fixed iterator_category()/etc. import
* _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report)
* using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report).
* _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report)
* range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument
* _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report)
* _string.h : compare() bugfix (thanks to Anton Sergeev)
* moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken)
* _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front()
moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey)
* _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements
* _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members
changed to explicit "this->".
* _complex.h : signatures of some methods changed to take value_type instead of const value_type&,
for better conformance (thanks to Petr Ovchenkov)
* Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovchenkov)
* Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined
* stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran)
* pthread.h : new wrapper added
* Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin)
* <new> : fixed throw specification for bad_alloc (has to be inherited)
* Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for <exception>, <typeinfo>, <new>.
(thanks to Bryan Byrnes)
* <stdio_streambuf> : moved from stlport/stl to stlport directory, for SGI compatibility
The following changes were made in 4.1 beta 1 since 4.0 :
* Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input)
* _threads.h/_config.h : added efficient support for atomic operations for
DEC CXX and Watcom (thanks to Ricardo Gayoso for the input).
Macros __STL_ATOMIC_xxx introduced to facilitate this.
* _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch)
* _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion)
* _tree.h : changed some inlining for performance optimization
* __node_alloc:: allocate broken into two functions for better inlining
* _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround
* stl_bc.h : option set to control alignment and virtual table behaviour to be consistent;
library name adjusted to stlport_bcc55_xxx
* _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls
(thanks to Michael Tsirkin for the report).
* _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution
(thanks to Anton Sergeev for the input)
* _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch)
* complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux
(thanks to John Wiegley for the input)
* moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input)
* Watcom-specific fixes (thanks to Ricardo Gayoso for the input)
* src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion)
* _debug.c : fixes for Win CE (thanks to John Hynes for the patch)
* Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input)
* _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report)
* __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch)
* cast macros fixed to be more robust (thanks to Geoff Oakham for the report)
* "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report)
* debug/_string.h : improvement to string with __STL_DEBUG w/o member templates
(thanks to Paul Furnanz for the report)
* debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report)
* cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag
* workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report)
* cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams,
to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report)
* type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report)
* typeinfo.h using fixes (thanks to Glen Summers for the input)
* stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC
(thanks to Dmitry A.Steklenev, Jonathan Richardson for the report)
* debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report)
* regression/gcc.mak made non-dependant on "." in the path
(thanks to Thomas Matelich for the report)
* hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report)

668
STLPORT/etc/ChangeLog-4.0 Normal file
View File

@@ -0,0 +1,668 @@
The following fix was made in 4.0 since 4.0 Release Candidate :
* _threads.h/_config.h : for all platforms, static mutexes made non-indirect
* _iterator_base.h : made possible to choose between iterator_traits approach
and old-style iterator queries like iterator_category(), value_type(), etc.
(Thanks to John R. Bandela for pointing this out)
* _config.h, stl_user_config.h : introduced __STL_OLD_HP_ITERATOR_QUERIES switch to
allow old-style and new-style iterator queries (for all compilers).
iterator_traits<> made always defined.
* _ptr_specialize.h - specializations of type_traits<> for compilers w/o partial spec
moved into separate file. Added iterator_traits<> specializations for pointer types
for __STL_NO_OLD_HP_ITERATOR_QUERIES case. Macro __STL_POINTERS_SPECIALIZE is now available
to specialize both type_traits and iterator_traits for a pointer to user-defined
type (latter for standard-style iterator queries mode only)
* vc5.mak : __STL_NO_FORCE_INSTANTIATE flag restored
* _site_config.h : if __STL_NO_NEW_IOSTREAMS or __STL_NO_IOSTREAMS specified,
SGI iostreams are being turned off. __STL_NO_SGI_IOSTREAMS moved into stl_user_config.h
(Thanks to Sathish T C for the report)
* stl_watcom.h : _REENTRANT is being set if _MT is set (thanks to Ricardo E. Gayoso for the input)
The following fix was made in 4.0 Release Candidate :
* _threads.h, _alloc.c : fixed use of _STL_mutex_base instead of _STL_STATIC_MUTEX macro
The following changes were made in 4.0 Release Candidate since 4.0 beta 8:
* fstream.cpp : WIN32 fstreambuf::open flag mapping fixed
(thanks to Alberto Barbati for the reports)
* ctype.cpp : fixed classic table regarding ios_base::print/ios_base::space
conflict (thanks to Alberto Barbati for the report)
* cmath : added same workaround for SUN's math exception/std::exception name clash
as was there in math.h before
* _streambuf.c : added "typename" to out-of-line functions (thanks to Michael Tsirkin for the report)
* README fixed to be consistent about SGI iostreams setting (thanks to Ed Brey for the report)
* _bitset.h : fixed SUN CC 4.2 crash with -g option (thanks to Alex Vanic for the report),
fixed bug in bitset<>::reference base bitset typedef
* _threads.h/.c - fixed issue with inconsistent system's macro for initialization
and warning about partially bracketed initializer
* debug/_vector.h : fixed _Vector_nonconst_traits specialization for bit_vector
(thanks for Dave Abrahams for the fix & reminder)
* config/msvc.h - addidional level 4 warnings suppressed (thanks to Ed Brey for the report)
* _ios.h : fixed DLL export decl for MSVC (thanks to Alberto Barbati for the report)
* stdio_streambuf.cpp : compatibility fix for glibc 2.2 (thanks to Bill Shanahan for the patch)
* _iterator_base.h : added iterator<output_iterator_tag, void,..> specialization;
_stream_iterator.h : ostream_iterator changed to inherit from iterator<>
(thanks to Raphael Bossek for the report)
* INSTALL : added some exaples and fixed typos (thanks to Beman Dawes for the report)
* _site_config.h : more consistency checks for MT (thanks to John Maddock for the input)
* _messages_facets.h : added DLL export decls (thanks to John Maddock for the report)
* complex_io_w.cpp : fixed specialization syntax for aCC (thanks to Paul E. Blanchard for the report)
* complex_exp.cpp : fixed pow() bug for negative arguments (thanks to Anton Sergeev for the report)
* _fstream.h/_streambuf.h : MRC/MPW workarounds (thanks for Tsutomu Yoshida for the report)
* using/fstream.h : added missing end-of-line (thanks to Jean-Francois Panisset for the report)
* <typeinfo> : workaround for VC++ 6.0 defining type_info in gobal namespace (thanks to Bosko Ivanisevic for pointing that out)
* _threads.h/_threads.c/pthread_alloc : improved pthreads portability (thatnks to Michael Tsirkin for the patch)
* _debug.h/_debug.c : __STL_ASSERT/__STL_VERBOSE_ASSERT/__STL_VERBOSE_RETUN macros guarded to be overridable by user (thanks to Tony Gould for the input)
* _valarray.h : added assert to operator=
* config/vc_select_lib.h : added _AFXDLL recognition (thanks to Andrew Phipps for input)
* _rope.h : added default constructors to please gcc-2.7.2
* _set.h/_hash_set.h : pointer and reference typedefs fixed (thanks to Anton Sergeev for the report)
* stl/_config.h : stl_user config.h included prior to other parts of configuration
(thanks to Frank Samuel for the report)
The following changes were made in 4.0 beta 8 since 4.0 beta 7:
* Merged changes for 06/08 SGI library snapshot; mostly in locale
* Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!):
* _rope.c - fixed memory leak bug;
* _debug.c/_debug.h - added extra zero-initialization for more robustness;
* _list.h - MPW - specific fixes;
* _hashtable.h - fixed debug renaming clash for __STL_USE_ABBREVS
* EH workarounds to make Apple compilers behave
* _fstream.c : fixed tellg() bug in text mode
* <csignal> : added sig_atomic_t import
* series of fixes for HP aCC 1.23 ( thanks to Michael Tsirkin for the patch ):
_bvector.h : all relops are specialized;
stl_hpacc.h - fixed config;
hpacc.mak : added makefiles for HP aCC in src and test
debug/_iterator.h, debug/_vector.h - removed future errors due to baseclass member use
* <cstdlib> : added import of system() call (thanks to Petr Ovchenkov for the report)
* _REENTRANT is now set by default to be on for all SGI iostreams compilations.
Same is being enforced if SGI iostreams are used.
* _pair.h : added workaround for make_pair in case of char literals
(extension, only works with partial function order)
* config/stl_gcc.h - fixed configuration problem for "g++-3" directory used in Cygnus and Mingw
distributions for gcc-2.95.2, while all other platforms use "g++". Added recognition section.
Thanks to Dave Abrahams for the report.
* config/stl_mlc.h : added support for MLC compiler (thanks to Anton Sergeev for the patch)
* <memory> : auto_ptr simplified (thanks to Kon Tantos for problem report)
* num_get.cpp : included <ostream> to get external symbols right.
* stl_ibm.h : __STL_NO_TYPEINFO added for OS/2 (thanks to Willie Arbuckle for the report)
* stl_bc.h : fixed enforcement of static library until dynamic made to work (thanks to J. Lambert for the report)
* src/stlport.rc : improved version definition to work with mingw32, <winres.h> changed to <windows.h>
* src/mingw32.mak : Made use of stlport.rc for DLL build (thanks to Danny Smith for the suggestion)
* debug/_vector.h : name clash removed for _Base (thanks to Will Fike for the report)
* _monetary.h - added "static const bool intl" member to meneypunct<> templates
(thanks to Anton Sergeev for the report)
* _bitset.h : added forward friend decraration for reference (thanks to Anton Sergeev for the report)
* _tree.h : made _Rb_tree_base_iterator::_M_node initialized in default constructor (thanks to Dean Sturtevant for the report)
* _set.h : reinterpret_cast<> changed to C-style cast (thanks to Dave Abrahams for the suggestion)
* Use of raw SGI allocators (like __node_alloc) as an allocator parameter deprecated,
available only with __STL_USE_RAW_SGI_ALLOCATORS macro. May be removed later.
__allocator<T> still available unless __STL_NO_EXTENSIONS is specified
* _limits.h/_limits.c - alignment fix for Solaris;
* Modified __format_float* routines to take long double as parameter;
(thatnks to Anthony Williams for the patch)
* debug/_iterator.h - wrappers for noncompliant compilers moved under
#ifdef __SGI_STL_NO_ARROW_OPERATOR (thanks to Dave Abrahams for the input)
* _numeric_facets.h - num_put<> , num_get<> virtual members made outline to work
aroung gcc-2.95 bug.
* <cstdio> : undefined obsolete C macros : getchar/putchar & the like.
* ctype.cpp : fixed bug with ctype<char>::is (const char*, const char*, mask)
* ctype.cpp : fixed is(print) for certain platforms where print is a separate flag
* ftstream.cpp : fixed corner case bug for Win32 text output (thanks for Dirk Schreib for the report)
* _streambuf.h, _fstream.h, stdio_strembuf.h : fixed overflow/pbackfail() virtuals definition;
* _bitset.h : _M_copy_from_string fixed for non-member-template case (thanks to Alex Vanic for the report)
* gcc-glibc.mak, common_macros.mak : GLIBC compilation fixes (thanks to Thomas Witt for the report)
* WCHAR_MIN, WCHAR_MAX definitions moved from <limits> to <cwchar>
* char_traits<char>::to_char_type : parameter changed to int
* <cstddef> included in <new> (for size_t)
* _codecvt<>::do_length: fixed first parameter to be const mbstate_t &;
virtual fns moved into .cpp, to work aroung gcc bugs
* _complex.h : fixed complex<>::operator= and constructors signature to take const T&
* _istream.c : fixed formatted input involving binary '0'
* locale_impl.cpp : insertion of time_put<wchar_t> fixed
The following changes were made in 4.0 beta 7 since 4.0 beta 6:
* Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!):
* cmath, _complex.h, stl_apple.h, _deque.h - MPW/MRC specific workarounds
* _bitset.h - removed the obsolete _WordT template parameters.
* _ctype.h, _codecvt.h, _collate.h, _istream.h, _messages_facets.h, _monetary.c
_monetary.h, _numeric_facets.h, _time_facets.h - added workaround for locale's nested class.
* _ostream.c_ostream.h - added proposed modification against the <ostream> circular inclusion problem.
* test/eh/test_deque.cpp - removed the obsolete template argument
* _bitset.h - removed obsolete adaptor (thanks to Alex Vanic for the report)
* _[io]stream.h - removed extra DLL specs (thanks to Danny Smith for the report)
* stl_msvc.h - fixed bug caused static lib to always be selected
* gcc.mak - fixed AR definition for static link
* Added workaround for static locale::id member in DLL for mingw32 (thanks for Danny Smith for the report)
* _string_io.h : added _widen() to get getline() compile with wchar (somewhat missing in b6 , thanks to Mikhail Leonov for reminder)
* threads.h - fixed guards for DreamSega WinCE (thanks to Ben Nason for the report)
* fstream.cpp : fixed truncation for WIN32 (thanks to Bruce Alderson for the report)
* _istream.c/_M_ignore_unbuffered() - fixed count bug
* _istream.c/ readsome() : fixed extra failbit setting on eof
* __get_integer - enhanced using a table; input value made unchanged in case of error.
* __get_base_or_zero - more code factored out
* stl_wince.h : fixed assert() definition for Win CE (thanks to Andrew Waters for the report)
* vc_select_lib.h " fixed __declspec selection for Win CE (thanks to Andrew Waters for the report)
* _rope.c - fixed bug in _S_destr_concat_char_iter (thanks to E.Musser for the fix)
* debug/_vector.h - fixed DLL export for vector<void*>
* _vector.h, _deque.h, _bvector.h - obsolete guards around at() methods removed ;
* type_traits.h - WinCE compatibility fixes for -> operator definition ;
* _vector.h, _deque,h - removed extra casts (thanks to Andrew Waters for the report)
* _algobase.h - optimized lexicografical_compare() overload for char*
The following changes were made in 4.0 beta 6 since 4.0 beta 5:
* Merged changes from SGI STL snapshots 04/03, 04/14, 04/18.
* Iostreams ported to Apple MPW/MRC (thanks to Tsutomu Yoshida for the contribution)
* Iostreams ported to OSF1/Tru64 (thanks to Marc W. Mengel for the contribution)
* Iostreams ported to FreeBSD ( Thanks to Sms for the contribution)
* <deque> : extra template parameter removed
* locale::id, locale::facet : reverted to nested classes as standard prescribes
* _string_io.h : added _widen() to get getline() compile with wchar (thanks to Mikhail Leonov for the patch)
* collate_byname[_w].cpp : fixes for VC++ 5.0 build w/__STL_DEBUG (thanks to Petr Ovchenkov for the patch)
* <complex> : __STL_COMPLEX_NAMESPACE defined before inclusion of impl. header
(thanks to Matthew Kelly for the patch)
* makefiles in "src" : improved to get each compiler to put object files in separate directory :
./obj/$(COMP)/Debug, etc. COMP is given some default value for each compiler, but may be also overridden.
* "src" subdirectory : added stlport_prefix.h file for precompiled header support;
VC++ makefiles make use of them
* stl/_iterator_base.h : provided __STL_NONTEMPL_BASE_MATCH_BUG
workaround for new form of distance().
* <limits> : added cast to WCHAR_MAX definition (thanks for Dave Abrahams for the report).
* stl_user_config.h, stl/_config.h - setting splitted and organized more properly.
* time_facets.cpp - extra instantiations removed (thanks to Matti Rintala for the report).
* stdio_streambuf.h : added explicit qualifications of C lib functions for gcc-2.91
* SGI code used for compatibility w/older versions are guarded with #ifndef __STL_NO_ANACHRONISMS
* SGI extensions are guarded with #ifndef __STL_NO_EXTENSIONS
* SGI/HP anachronisms are guarded with #ifndef __STL_NO_ANACHRONISMS
* <typeinfo> : .h file included if __STL_NO_NEW_NEW header is set
(thanks to Willie Arbuckle for the report)
* Suppresed spurious BC55 warnings about iterators
* complex_io.h - fixed operators declarations for MetroWerks
* debug/_slist.h - cleaned up use of stl_debug_do obsolete macro (thanks to Matti Rintala)
* debug/_iterator.h, debug/_vector.h - fixed relaxed iterator constructors (thanks to Dave Abrahams for the patch)
* stl/_complex.h - fixes for gcc-2.95 on IRIX (thanks to Marc W. Mengel)
* debug/_iterator.h : fixed relaxed const/non-const iterator construction for debug mode
(thanks to Dave Abrahams for the patch)
* collate : added workaround for SUNpro linker (thanks to Petr Ovchenkov for the fix)
* _ios.h, _streambuf.h - added obsolete stuff required by the standard
* _config.h/stdexcept - introduced __STL_NOTHROW_INHERITED to be used when we actually need
exception specification due to inheritance (thanks to Joe for the report)
* _locale.h:104 : fixed ummaned parameters
* _tempbuf.h - fixed absent inclusion of _tempbuf.c
* <exception> : relaxed rules for importing vendor symbols
* _deque.h - added != operator
* _streambuf.h - fixed snextc() bug for wchar_t
* <ostream>, _numeric_facets.h - circular dependency resolved
* stl/_iosfwd.h - added include guard
* basic_[io]stream::sentry made inner class again (as per standard)
for non-DLL compilations.
* vector<void*> is used in locale implementation to reduce code bloat,
vector<void*> exported from DLL
* <stdexcept> : exported more stuff
* stl_intel.h : ICL config merged into stl_msvc.h
* gcc.mak - fixed for shared target
The following changes were made in 4.0 beta 5 since 4.0 beta 4:
* _hastable.c:263 : removed inneeded cast (thanks to Will Fike for the report)
* debug/_string.h : added conversion to non-SGI string (thanks to Todd Richmond for the report)
* _complex.h : fixed DLL declarations for i/o operators
* _ostream.h : fixed sentry behavoiur and DLL specs.
* _istream.h : fixed DLL specs, optimized some try/catch blocks
* _vector.h : fixed vector::insert body definition for __STL_INLINE_MEMBER_TEMPLATES
* <exception> : more compilers listed as having full exception header
* debug/_debug.h : added namespace to __STL_ASSERT for EH test which uses this internal macro.
* resource info fixed (thanks to Michael Entin for the report)
* debug/_string.h : fixed _M_start resolution bug (thanks to Rob for the report )
* <new> : added import of new_handler stuff from vendor namespace (thanks to Niran Bala for the report).
* src/c_locale_glibc - missed directory contents restored (thanks to Todd Rider for the report)
* mwerks_prj - project updated for new file set, target names for x86 changed to conform to common schema
* _ostream.c/_istream.c : fixed lookup for _S_eof symbol (thanks to Anton Sergeev for the report)
* _ios.h - fixed VC++ DLL warning for specializations
* stl_ibm.h - disabled "long long" due to incomplete support on MVS by request (thanks to Tinny Ng)
* char_traits.h - worked around weird gcc internal bug (__sz identifier changed to _Sz)
The following changes were made in 4.0 beta 4 since 4.0 beta 3:
* "src" directory : source divided into smaller parts to be more manageable and to
get more cache locality
* throw specifications removed (macros made void) - thanks to Dave Abrahams for the suggestion
* stl/_list.c - fixed reverse() "inline",
_deque.h - fixed cast bug for xlC (thanks to Alex Vanic for the reports)
* stl/_strstream.h - fixed DLL specs (thanks to Parcival Willems for the report)
* stl/_string.h, debug/_string.h - fixed conversion from native string with __STL_DEBUG
(thanks to Todd Richmond for the report).
* stl/_istream.h - fixed clash of "__N" symbol with ctype.h macro for some compilers
(thanks to Kees de Bruin for the report)
* Configuration fixed for Borland C++ 5.02 compiler [ deque still does not work with it ]
* gcc-2.7.2 configuration fixed
* SGI iostreams now work for Borland 5.5 with static lib , some problems with
locale initialization when DLL is used.
* __get_c_string exported in DLL (thanks to Ed Ball for the report).
* ENDIAN fixes for CodeWarrior/DEC (thanks to Kevin Wooten for bringing this up)
* wrap_std/h/strstream.h - added missing wrapper (Thanks to Laurent for the report)
* stl_hpacc.h - fixed #endif bug,
_limits.h/.c - fixed array initialization,
_string_io.h, _locale.h - fixed circular dependancy,
_set.[hc], _hashtable.c, _set.h - added __REINTERPRET_CAST need by some compilers;
_i[o]stream.c, _rope.[hc] - lookup fixed for dependant symbols
(thanks to Alain Miniussi for the reports)
After-release minor bugfixes for beta3:
* stl/_list.c - fixed reverse() [ new SGI code, merged unported first ]
Thanks for everybody who reported it.
* stl/_bvector.h : fixed ambiguity problem with relational iterators
for __STL_NO_BOOL case (thanks to Alex Vanic for the report).
* stl/_alloc.c, stl/_threads.c - fixed static member definitions for compilers
that lack automatic static data members (gcc-2.7). Thanks to Huang-Ming Huang
for the report.
* standard wide streams initialization bug on Win32 fixed (thanks to Harold Putman for the
report)
The following changes were made in 4.0 beta 3 since 4.0 beta 2:
* Merged SGI changes from 02/18 snapshot.
* Ming32W (gcc Win32 port using MS runtime lib) is now fully supported.
* .dll build schema improved, now builds with mingw32 and Borland C++
(Borland has some problem with numeric i/o)
* VC++ version bugfixes in <xstring>/<xutility>/<xstring>
(thanks to Todd Richmond for the report)
* _bvector.h - relational operators defined only for "bit_vector",
not for "vector" specializations (thanks to Edward Ball for the report)
* src/locale_impl.h - fixed multiple defined symbol problem with gcc
(Thanks to Matti Rintala for the report)
* config/stl_ibm.h - __STL_NO_TYPEINFO added (thanks for Tinny Ng).
* <string> : _stl_string_io.h/c introduced to fight inter-dependencies
* _bvector.h - added fix for -tempinc compilation on AIX (thanks to Alex Vanic for the patch)
* fstream.cpp - _M_write bug for Win32 text mode fixed (thanks to Mike Pyle)
* _string.h : debug version included prior to _string.c;
* debug/_debug.h/.c, debug/_deque.h, debug/_string.h - fixed debug mode bugs;
Apple compilers config fixes / iostream wrapping fixes / EH test fixes,
(thanks to Tsutomu Youshida for the patch)
* csetjmp/setjmp.h - guards added against VC++ #defines (thanks to Gavin Wood)
* stl/_iosfwd.h : __STL_DEFAULT_CONSTRUCTED used instead of __STL_NULL_CHAR_INIT
(thanks to Alex Vanic for the report)
* __stl_get_c_string() - made extern non-template for SGI iostreams mode.
* __cdecl calling convention fixes - now works for debug & non-debug code.
* _limits.h/.c : static data moved from inline functions into a class.
* stlport_msvc.rc resource file added for DLL's (thanks to Michael Entin)
* stlport/config/stl_wince.h : added abort()/assert() definitions
(thanks to Gavin Wood for the report)
* Initial iostreams port for xlC (thanks to Alexander Vanic for the patch).
* config files - made safe for C compilers
* src/c_locale_stub.c - made structure for full platform-dependent
locales other than "C". Glibc implementation merged.
The following changes were made in 4.0 release candidate 2 since 4.0 release candidate 1:
* Solid approach to __STL_DEFAULT_CONSTRUCTOR_BUG problem implemented,
rope.h typo fixed (thanks to Alex Vanic for the report)
* getline and stream operators moved from _istream.c to _string.c
where they belong (thanks for Petr Ovchenkov)
* <new> fixed to import nothrow and nothrow_t
* Borland C++ 5.5 (free compiler) supported (iostreams won't compile yet).
* SUN CC 6.0 EA - new features unabled (most announced features still don't work though)
* HP ACC configuration updated, some fixes for new aCC beta(thanks to Alain Miniussi).
* Windows CE compatibility fixed (thanks to Gavin Wood for the report)
* <sstream> fixed for non-SGI case, ios.cpp bug in __STL_NO_EXCEPTIONS
mode fixed, debug iterators fix (thanks to Todd Richmond).
* VC++ 5.0 and 4.2 compatibility fixed (thanks to Ilya for the report)
* __cdecl calling convention explicitly specified for VC++ & static/global functions.
* vc_common.mk : debug type changed to CV (thanks to Mike Pyle for the solution)
* fstream.cpp : Win32 text mode : bugs fixed, SGI code used.
fixed _M_open() creation flags for Win32 (thanks to Mike Pyle for the report)
* "install" target added for VC++ to install .dll's into Win system directory.
* __STL_USE_STATIC_LIB switch added to add flexibility to VC++ linking.
* __stl_debug_message for WIN32/Unicode/MFC improved
(thanks to Edward Ball, Chvetsov for the reports)
* MVS fix for auto_ptr<> (thanks to Tinny Ng)
* debug/_tree.h, debug/_vector.h "typename" fixes, thanks to Matti Rintala.
* c_locale.h : fix for Solaris 2.5.x (thanks to B. K. Oxley)
* _bvector.h : Watcom compatibility fixed (thanks to Ricardo E. Gayoso for the report)
* __STL_DONT_REDEFINE_STD flag behaviour fixed
The following changes were made in 4.0 release candidate 1 since 3.2.2 Beta 4 :
* Merged changes made to SGI standard library snapshot on 01/28.
* Fixed bug with istream reading numbers in hex mode (thanks to Dave Abrahams
for the patch).
* Debug mode redesigned (again) - no extra namespaces is being used
Finally, it works for MSVC and all other platforms.
* __SGI_STL_OWN_IOSTREAMS made to be the default mode except few platforms
not provided with makefiles to build STLport yet.
* Changed strategy on redefinig std:: namespace.
prolog/epilog technology used to get clean namespace wrapping.
It also allows for managing stack of pragmas
(see stlport/stl/config/_prolog.h,_epilog.h) to get rid of warnings.
Note : default namespace changed to _STL:: to satisfy implementation
constraints and to allow for more compact symbols.
"stlport::" namespace is still defined for backwards compatibility.
* iostreams library now compiles on HP with aCC (thanks to Steven Serocki for the patch).
* Configuration for SUN Workshop 6.0 EA provided.
* For VC++, corresponding [selected by /MT(d) or /MD(d) switch]
STLport iostreams library is being linked automatically - all you
need is to put library in lib search path or specify additional library path.
* Ability to turn on all warnings in your own code if you're using
a compiler with appropriate support (e.g. MSVC6).
* Small fixes posted to the forum integrated:
* config/stl_wince.h : added __STL_HAS_NO_NEW_C_HEADERS switch
* wrap_std/strsream : fixed preprocessor bug, strstream.h included
when not using new-style headers
* other fixes
The following changes were made in 3.2.2 beta 4 since 3.2.2 Beta 3:
* Merged changes made to SGI standard library snapshot on 01/10.
* Major restructuring of header files - for maintainability and
8.3 filesystems benefit.
* Major debug mode improvements - new debug mode now works with
VC++, gcc, intel, SUNpro, MetroWerks.
* Regression test suite changed to new-style headers - thanks to
Dima Pasechnik for the initial port.
* <rope> fixes for Watcom
* many miscellanous fixes.
The following changes were made in 3.2.2 beta 3 since 3.2.2 Beta 2:
* Merged changes made to SGI standard library snapshot in December.
* std:: is not used for STLport namespace even with SGI iostreams,
to avoid possible clashes and facilitate 3rd-party library use.
Same macro redefinition technique for stlport:: used to keep clients
code with literal std:: happy as in native iostreams mode.
* C library headers wrapping changed to allow multiple inclusion tricks
(needed by gcc-2.95 mostly)
* gcc-2.95 and CodeWarrior configurations updated.
* HP aCC fixes applied.
* Visual C++ - added static library targets, build refined.
Fixed memory-mapping bugs.
* auto_ptr updated, now it passes polymorphic tests with VC++.
* Many small bugfixes.
The following changes were made in 3.2.2 beta 2 since 3.2.2 Beta 1:
* Fixed SUN CC deque<> problem with -g
* Added configuration and makefiles for DEC VMS, Borland and Win32 gcc.
* Merged changes made to November SGI standard library snapshot.
* config changes - "configure" made obsolete and moved into "stlport/config/new_compiler".
* __STL_TYPENAME_ON_RETURN_TYPE handling changed.
* Miscellanous fixes.
The following changes were made in 3.2.2 Beta 1 since 3.2.1 release:
* SGI iostreams adopted. To use SGI iostreams, user have to set
__SGI_STL_OWN_IOSTREAMS flag and to build the library in "src"
directory to link with. Please read INSTALL file for detailed
instructions.
Default setting is NOT to use SGI iostreams (wrappers used as before).
* Debug mode completely redesigned - debug mode containers are
implemented in terms of wrappers around non-debug ones.
That provides for more clean and efficient implementation and
binary compatibility between debug and non-debug versions.
* Additional configurations added for platforms :
- gcc-2.95
- SUNpro CC 5.0 in "compatibility" mode
"configure" made obsolete.
* Bugfixes reported by users since 3.2.1 release merged
The following changes were made in 3.2.1 since 3.2 release:
* Now, by default, STLPort renames std:: namespace for user
if __STL_USE_OWN_NAMESPACE is used. To make it possible, many new
wrapper headers introduced. Internally, STLport uses stlport:: namespace,
so no link- or run- time clashes are possible, and you don't have to rebuild
the runtime lib (which you don't want to).
This feature makes STLport usable out-of-the box, without any modifications
for client code, with any compiler.
* Code bloat reduction : hashtable<T> uses vector<void*> internally.
* Vector : efficiency/code bloat reduction fixes.
* Visual C++ : DLL export is supported for allocators and strings. To use it,
please define __STL_USE_DECLSPEC in all modules and __STL_DESIGNATED_DLL
for the DLL which is supposed to instantiate STLport exports (at least one
source of this DLL must include <string>.
* Visual C++ : for MT synchronization, <windows.h> is not included anymore.
* For Sunpro C++ 5.0 : all headers are linked into stlport/SC5, so only
one include path is needed. Note that SC5.0 has problems with relative
search path. It is easy to work around : in your makefiles, instead of
"STL_INCL=../.." , write "STL_INCL=${PWD}/../..".
* Configuration files provided for compilers :
KAI C++
DEC C++ (6.x, 5.x)
Borland 5.02 is back on the road (finally !)
* Windows CE config provided for Visual C++.
* __STL_NO_IOSTREAMS switch introduced for embedded platforms.
* Lots of minor config fixes and improvements for various platforms.

36
STLPORT/etc/README Normal file
View File

@@ -0,0 +1,36 @@
***********************************************
This directory contains miscellanous files for STLport-4.6 release.
***********************************************
PROJECT COORDINATION FILES
* ChangeLog - Log of changes since STLport 4.0 release
* ChangeLog-4.0 - Log of changes before STLport 4.0 release
* TODO - Some future plans and directions
CVS HOUSEKEEPING, SCRIPTS
* cvsignore - ignore patterns to use with GNU 'tar' command
* scvs - script to use CVS through SSH tunneling (the default
method at cvs.stlport.com)
INDEPENDENT PACKAGING SUPPORT
* STLport-4.5.1.spec : spec file to build RPM for STLport-4.5.1
INTERNAL INSTALLATION SUPPORT
* std_headers_xxx.txt - a list of headers to be placed in various dirs
LOGOS
* stlport_powered_red.gif Those are "Powered by STLport" logos. You are more than welcome
stlport_powered_white.gif to put those logos on webpages for your product if it uses STLport.
GOODIES
* msvcincl.dat - the file to be placed in Windows directory
to exclude STLport files from VC++ dependancy checks

View File

@@ -0,0 +1,96 @@
%define MAKEFILE gcc-linux.mak
Summary: Complete C++ standard library
Name: STLport
Version: 4.5.1
Release: 1
Copyright: free (see license), see /usr/share/doc/%{name}-%{version}/license.html
URL: http://www.stlport.org/
Packager: Levente Farkas <lfarkas@mindmaker.hu>
Group: System Environment/Languages
Icon: stlport_powered_white.gif
Source0: http://www.stlport.org/archive/%{name}-%{version}.tar.gz
Patch0: STLport-rename.patch
#Patch1: STLport-rules.patch
#Patch2: STLport-install-dir.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n)
%description
STLport is a multiplatform STL implementation based on SGI STL.
This package contains the runtime library for STLport.
%package -n STLport-devel
Summary: Complete C++ standard library header files and libraries
Group: Development/Libraries
Requires: STLport = %{version}
%description -n STLport-devel
STLport is a multiplatform STL implementation based on SGI STL. Complete
C++ standard library, including <complex> and SGI STL iostreams. If you
would like to use your code with STLport add
"-nostdinc++ -I/usr/include/stlport" when compile and -lstlport_gcc when
link (eg: gcc -nostdinc++ -I/usr/include/stlport x.cc -lstlport_gcc).
%prep
%setup
%patch0 -p1
#%patch1 -p1
#%patch2 -p1
%build
cd src
make -f %{MAKEFILE} INSTALLDIR=$RPM_BUILD_ROOT/usr clean all
%install
rm -rf $RPM_BUILD_ROOT
cd src
make -f %{MAKEFILE} INSTALLDIR=$RPM_BUILD_ROOT/usr install
cd $RPM_BUILD_ROOT/usr/include/stlport
ln -s . ext
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n STLport-devel
/sbin/ldconfig
%postun -n STLport-devel
/sbin/ldconfig
%files
%defattr(-,root,root)
%doc doc/license.html
/usr/lib/libstlport_gcc.so
#/usr/lib/libstlport_gcc.so.%{version}
/usr/lib/libstlport_gcc.so.4.5
%files -n STLport-devel
%defattr(-,root,root)
%doc INSTALL README doc etc test
/usr/lib/libstlport_gcc*.a
/usr/lib/libstlport_gcc_*debug.so*
/usr/include/*
%changelog
* Mon Dec 10 2001 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.5.1
* Fri Nov 16 2001 Levente Farkas <lfarkas@mindmaker.hu>
- merge with Harold's changes
* Thu Nov 15 2001 <stlport@lanceerplaats.nl>
- rebuild for RedHat 7.2, spec file fixes.
* Tue Oct 2 2001 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.5
* Thu Oct 26 2000 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.1-b3
* Thu Jul 17 2000 Levente Farkas <lfarkas@mindmaker.hu>
- initial release use STLport-4.0

View File

@@ -0,0 +1,96 @@
%define MAKEFILE gcc-linux.mak
Summary: Complete C++ standard library
Name: STLport
Version: 4.5.3
Release: 1
Copyright: free (see license), see /usr/share/doc/%{name}-%{version}/license.html
URL: http://www.stlport.org/
Packager: Levente Farkas <lfarkas@mindmaker.hu>
Group: System Environment/Languages
Icon: stlport_powered_white.gif
Source0: http://www.stlport.org/archive/%{name}-%{version}.tar.gz
#Patch0: STLport-rename.patch
#Patch1: STLport-rules.patch
#Patch2: STLport-install-dir.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n)
%description
STLport is a multiplatform STL implementation based on SGI STL.
This package contains the runtime library for STLport.
%package -n STLport-devel
Summary: Complete C++ standard library header files and libraries
Group: Development/Libraries
Requires: STLport = %{version}
%description -n STLport-devel
STLport is a multiplatform STL implementation based on SGI STL. Complete
C++ standard library, including <complex> and SGI STL iostreams. If you
would like to use your code with STLport add
"-nostdinc++ -I/usr/include/stlport" when compile and -lstlport_gcc when
link (eg: gcc -nostdinc++ -I/usr/include/stlport x.cc -lstlport_gcc).
%prep
%setup
%patch0 -p1
#%patch1 -p1
#%patch2 -p1
%build
cd src
make -f %{MAKEFILE} INSTALLDIR=$RPM_BUILD_ROOT/usr clean all
%install
rm -rf $RPM_BUILD_ROOT
cd src
make -f %{MAKEFILE} INSTALLDIR=$RPM_BUILD_ROOT/usr install
cd $RPM_BUILD_ROOT/usr/include/stlport
ln -s . ext
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n STLport-devel
/sbin/ldconfig
%postun -n STLport-devel
/sbin/ldconfig
%files
%defattr(-,root,root)
%doc doc/license.html
/usr/lib/libstlport_gcc.so
#/usr/lib/libstlport_gcc.so.%{version}
/usr/lib/libstlport_gcc.so.4.5
%files -n STLport-devel
%defattr(-,root,root)
%doc INSTALL README doc etc test
/usr/lib/libstlport_gcc*.a
/usr/lib/libstlport_gcc_*debug.so*
/usr/include/*
%changelog
* Mon Dec 10 2001 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.5.1
* Fri Nov 16 2001 Levente Farkas <lfarkas@mindmaker.hu>
- merge with Harold's changes
* Thu Nov 15 2001 <stlport@lanceerplaats.nl>
- rebuild for RedHat 7.2, spec file fixes.
* Tue Oct 2 2001 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.5
* Thu Oct 26 2000 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.1-b3
* Thu Jul 17 2000 Levente Farkas <lfarkas@mindmaker.hu>
- initial release use STLport-4.0

View File

@@ -0,0 +1,99 @@
%define MAKEFILE gcc-linux.mak
Summary: Complete C++ standard library
Name: STLport
Version: 4.6
Release: 1
Copyright: free (see license), see /usr/share/doc/%{name}-%{version}/license.html
URL: http://www.stlport.org/
Packager: Levente Farkas <lfarkas@mindmaker.hu>
Group: System Environment/Languages
Icon: stlport_powered_white.gif
Source0: http://www.stlport.org/archive/%{name}-%{version}.tar.gz
#Patch0: STLport-rename.patch
#Patch1: STLport-rules.patch
#Patch2: STLport-install-dir.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n)
%description
STLport is a multiplatform STL implementation based on SGI STL.
This package contains the runtime library for STLport.
%package -n STLport-devel
Summary: Complete C++ standard library header files and libraries
Group: Development/Libraries
Requires: STLport = %{version}
%description -n STLport-devel
STLport is a multiplatform STL implementation based on SGI STL. Complete
C++ standard library, including <complex> and SGI STL iostreams. If you
would like to use your code with STLport add
"-nostdinc++ -I/usr/include/stlport" when compile and -lstlport_gcc when
link (eg: gcc -nostdinc++ -I/usr/include/stlport x.cc -lstlport_gcc).
%prep
%setup
%patch0 -p1
#%patch1 -p1
#%patch2 -p1
%build
cd src
make -f %{MAKEFILE} INSTALLDIR=$RPM_BUILD_ROOT/usr clean all
%install
rm -rf $RPM_BUILD_ROOT
cd src
make -f %{MAKEFILE} INSTALLDIR=$RPM_BUILD_ROOT/usr install
cd $RPM_BUILD_ROOT/usr/include/stlport
ln -s . ext
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n STLport-devel
/sbin/ldconfig
%postun -n STLport-devel
/sbin/ldconfig
%files
%defattr(-,root,root)
%doc doc/license.html
/usr/lib/libstlport_gcc.so
#/usr/lib/libstlport_gcc.so.%{version}
/usr/lib/libstlport_gcc.so.4.6
%files -n STLport-devel
%defattr(-,root,root)
%doc INSTALL README doc etc test
/usr/lib/libstlport_gcc*.a
/usr/lib/libstlport_gcc_*debug.so*
/usr/include/*
%changelog
* Fri Oct 31 2003 <boris@stlport.com>
- upgrade to 4.6
* Mon Dec 10 2001 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.5.1
* Fri Nov 16 2001 Levente Farkas <lfarkas@mindmaker.hu>
- merge with Harold's changes
* Thu Nov 15 2001 <stlport@lanceerplaats.nl>
- rebuild for RedHat 7.2, spec file fixes.
* Tue Oct 2 2001 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.5
* Thu Oct 26 2000 Levente Farkas <lfarkas@mindmaker.hu>
- upgrade to 4.1-b3
* Thu Jul 17 2000 Levente Farkas <lfarkas@mindmaker.hu>
- initial release use STLport-4.0

36
STLPORT/etc/TODO Normal file
View File

@@ -0,0 +1,36 @@
**********************************************************************
* TODO file for STLport *
* *
**********************************************************************
This file lists various prospective things to do with STLport.
Please feel free to contribute to implementing any of these.
Please submit results back to STLport coordinator
( boris@stlport.com, http://www.stlport.com/forum ).
Below, numbers in "[]" brackets indicate priority.
[1] Make sure that the libary compiled with thread support,
is binary compatible with _NOTHREADS compiled projects. Hint - now it's NOT.
[1] More makefiles in src directory.
[1] More detailed installation/build instructions.
[2] More detailed documentation.
[1] User-friendly installation scripts.
[3] iostreams efficiency analysis.
[3] iostream/STL benchmarking against other implementations.
[3] An "undef" script to expand macros and produce more readable
STLport headers customized for given configuration automatically.
[1] More points to add to this file ;).

22
STLPORT/etc/cvsignore Normal file
View File

@@ -0,0 +1,22 @@
ignore
dev
fix
lib
*.o
*.obj
*~
*.exe
*.dll
*.core
*.bak
*.out
*.pdb
*.pch
.*
core
CVS
SunWS_cache
Templates.DB
*.gz
doc
make_snap.sh

309
STLPORT/etc/msvcincl.dat Normal file
View File

@@ -0,0 +1,309 @@
algo.h
algobase.h
algorith.h
algorithm
alloc.h
bitset
bitset.h
bvector.h
cassert
cassert.h
cctype
cctype.h
cerrno
cerrno.h
cfloat
cfloat.h
char_traits.h
climits
climits.h
clocale
clocale.h
cmath
cmath.h
complex
complex.h
concept_checks.h
configure
configure.in
csetjmp
csetjmp.h
csignal
csignal.h
cstdarg
cstdarg.h
cstddef
cstddef.h
cstdio
cstdio.h
cstdlib
cstdlib.h
cstring
cstring.h
ctime
ctime.h
ctype.h
cwchar
cwchar.h
cwctype
cwctype.h
c_locale.h
defalloc.h
deque
deque.h
exceptio.h
exception
exception.h
export
fstream
fstream.h
function.h
functional
hashtable.h
hash_map
hash_map.h
hash_set
hash_set.h
heap.h
iomanip
iomanip.h
ios
ios.h
iosfwd
iosfwd.h
iostream
iostream.h
istream
istream.h
iterator
iterator.h
limits
limits.h
list
list.h
locale
locale.h
map
map.h
math.h
mem.h
memory
memory.h
mmemory.h
msl_string.h
multimap.h
multiset.h
new
new.h
numeric
numeric.h
numeric.h
ostream
ostream.h
pair.h
pthread.h
pthread_alloc
pthread_alloc.h
queue
queue.h
rope
rope.h
set
set.h
setjmp.h
signal.h
slist
slist.h
sstream
sstream.h
stack
stack.h
stdarg.h
stddef.h
stddef.h
stdexcep.h
stdexcept
stdio.h
stdio_streambuf
stdlib.h
stdlib.h
stlcomp.h
stlconf.h.in
stl_apcc.h
stl_apple.bak.h
stl_apple.h
stl_as400.h
stl_bc.h
stl_como.h
stl_confix.h
stl_dec.h
stl_dec_vms.h
stl_fujitsu.h
stl_gcc.h
stl_hpacc.h
stl_ibm.h
stl_intel.h
stl_kai.h
stl_mlc.h
stl_msvc.h
stl_mwerks.h
stl_mycomp.h
stl_sco.h
stl_select_lib.h
stl_sgi.h
stl_solaris.h
stl_sunpro.h
stl_symantec.h
stl_tmpl.h
stl_user_config.h
stl_watcom.h
stl_wince.h
streambu.h
streambuf
streambuf.h
string
string.h
strstrea.h
strstream
strstream.h
tempbuf.h
time.h
tree.h
typeinfo
typeinfo.h
type_traits.h
utility
utility.h
valarray
valarray.h
vc_select_lib.h
vector
vector.h
wchar.h
wctype.h
_abbrevs.h
_algo.c
_algo.h
_algobase.c
_algobase.h
_alloc.c
_alloc.h
_alloc_old.h
_auto_ptr.h
_bitset.c
_bitset.h
_bvector.h
_check_config.h
_codecvt.h
_collate.h
_complex.c
_complex.h
_config.h
_config_compat.h
_config_compat_post.h
_construct.h
_ctraits_fns.h
_ctype.h
_cwchar.h
_debug.c
_debug.h
_deque.c
_deque.h
_epilog.h
_epilog.h
_exception.h
_fstream.c
_fstream.h
_function.h
_function_base.h
_hashtable.c
_hashtable.h
_hash_fun.h
_hash_map.h
_hash_set.h
_heap.c
_heap.h
_ios.c
_ios.h
_iosfwd.h
_ios_base.h
_istream.c
_istream.h
_istreambuf_iterator.h
_iterator.h
_iterator.h
_iterator_base.h
_iterator_old.h
_limits.c
_limits.h
_list.c
_list.h
_list.h
_locale.h
_map.h
_messages_facets.h
_mmap.h
_monetary.c
_monetary.h
_msvc_warnings_off.h
_null_stream.h
_numeric.c
_numeric.h
_numpunct.h
_num_get.c
_num_get.h
_num_put.c
_num_put.h
_ostream.c
_ostream.h
_ostreambuf_iterator.h
_pair.h
_prolog.h
_pthread_alloc.h
_ptrs_specialize.h
_queue.h
_range_errors.h
_raw_storage_iter.h
_relops.h
_relops_cont.h
_relops_template.h
_rope.c
_rope.h
_set.h
_set_operators.h
_site_config.h
_slist.c
_slist.h
_slist_base.c
_slist_base.h
_sparc_atomic.h
_sstream.c
_sstream.h
_stack.h
_stdio_file.h
_stdio_file.h.new
_streambuf.c
_streambuf.h
_streambuf_iterator.h
_stream_iterator.h
_string.c
_string.h
_string_fwd.c
_string_fwd.h
_string_hash.h
_string_io.c
_string_io.h
_strstream.h
_tempbuf.c
_tempbuf.h
_threads.c
_threads.h
_time_facets.c
_time_facets.h
_tree.c
_tree.h
_uninitialized.h
_valarray.c
_valarray.h
_vector.c
_vector.h

192
STLPORT/etc/scvs Normal file
View File

@@ -0,0 +1,192 @@
#!/usr/bin/perl
# Note : you may have to edit path to Perl above, according to your system setup
#
# modified for ssh+chroot setup by Anton Berezin <tobez@plab.ku.dk> #
# Synopsys : scvs -d :pserver:cvs@www.stlport.com/stlport <cvs command> # (this is for read-only anonymous access via "cvs" user)
# Please use your cvs login name if you have one instead of "cvs" above, to be able to commit your changes
#
#--
# tunable variables
#--
# Set this if it does not work otherwise
# $tune_cvs_server_name = "cvs.stlport.com";
# where cvs program is located on the client system
$tune_local_cvs_cmd = "cvs";
# remote pserver port to use
# for explanation, see
# http://www.prima.eu.org/tobez/cvs-howto.html#inetd
$tune_remote_cvs_port = 2410;
# local pserver port; you probably don't want to change this
$tune_local_cvs_port = 2401;
# ssh command to use; the default is good for UNIX clients
$tune_ssh_cmd = "ssh";
# the user on the server side cvs runs as
$tune_ssh_user = "cvs";
#--
# end of tunable variables
# there is no need to modify anything below
#--
#############################################################################
# CVS settings
$CVS_CMD=$tune_local_cvs_cmd;
$CVS_PORT=$tune_remote_cvs_port;
$CVS_LOCAL_PORT=$tune_local_cvs_port;
# the values below will be needed only if the repository is specified via the
# command line or the CVSROOT environment variable, and in those cases they
# will be extracted from there. However, for funny results you can uncomment
# these two lines.
# $CVS_HOST="www.stlport.com";
# $CVS_USER="cvs";
#############################################################################
# SSH settings
# ssh2 does not seem to work with our -L port:host:hostport argument, so make
# sure we will use ssh1.
$SSH_CMD=$tune_ssh_cmd;
# This should be the user on whose behalf the tunneling is made. It is
# typically a user that cannot do any harm, has no password and uses a program
# like nologin (but one that will wait) as a shell.
$SSH_USER=$tune_ssh_user;
# This value should also automagically be set from the repository name.
# However, if that host is not running sshd, you may want to tunnel through
# another host and modify and uncomment the line below.
# $SSH_HOST=$CVS_HOST
# This value is used if the repository cannot be determined from the
# commandline or the CVSROOT variable. Modify this for your local situation.
$SSH_DEFAULT_HOST=$tune_cvs_server_name;
# Port at which the sshd on the remote server runs. Default is 22.
# $SSH_PORT=22;
# This should be left unmodified, as it makes no sense changing this. Unless
# some future version (or perhaps even the current version) of cvs allow you
# to specify the remote repository's port.
$SSH_LOCAL_PORT=$CVS_LOCAL_PORT;
#############################################################################
# & parse_repository ({{rep}})
# . extracts the method, user, host, port and directory from {{rep}}.
# . There are four possibilities:
# - /path/to/repository
# - :method:/path/to/repository
# - :user@hostname:/path/to/repository
# - :method:user@hostname:/path/to/repository
# non-standard repositories. Has only been tested for :pserver: method.
#
sub parse_repository
{
my $rep = $_[0];
my ($dir,$user,$host,$method);
# determine the directory
$rep =~ s/:(\/.*)$// && do { $dir=$1; };
if (not $dir)
{ $rep =~ s/(\/.*)$// && do {$dir = $1; }; }
# determine the hostname and the username
$rep =~ s/:([^:]*)@(.*)$// && do { $user = $1; $host = $2; };
if (not $host)
{ $rep =~ s/:([^:]+)$// && do { $host = $1; }; }
# all that is left now is the method
$rep =~ s/^:([^:]*)// && do { $method = $1; };
# if there is still anything left, we have an error, warn the user
if ($rep)
{ print STDERR "Warning: repository parsed wrong ('$rep' ignored).\n"; }
# print STDERR "DEBUG: dir=$dir, user=$user, host=$host, method=$method\n";
return ($method, $user, $host, $dir);
}
#############################################################################
# main
# should be changed to a general cmdline parsing routine.
# get the repository's name from the commandline or the CVSROOT environment
# variable.
if ($ARGV[0] eq "-d")
{
$rep="$ARGV[1]";
shift; shift;
}
else
{
$rep = $ENV{'CVSROOT'};
}
# print STDERR "DEBUG: rep = $rep\n";
# parse the repository
($method, $user, $host, $dir) = parse_repository $rep;
# print "met: $method, user: $user, host: $host, dir: $dir\n";
# construct the local fake cvs server name.
if ($method) { $cvs_serv = ":$method:"; }
if ($user) { $cvs_serv .= "$user\@"; }
if ($rep) { $cvs_serv .= "localhost:"; }
if ($dir) { $cvs_serv .= $dir; }
# print STDERR "DEBUG: cvs_serv = $cvs_serv\n";
# construct the tunneling command
$SSH_HOST |= $host;
# print STDERR "DEBUG: SSH_HOST=$SSH_HOST\n";
$SSH_HOST |= $SSH_DEFAULT_HOST;
# print STDERR "DEBUG: SSH_HOST=$SSH_HOST\n";
if ($SSH_USER)
{ $ssh_serv="$SSH_USER\@$SSH_HOST"; }
else
{ $ssh_serv="$SSH_HOST"; }
# print "ssh_serv: $ssh_serv\n";
$tunnel_cmd = "$SSH_CMD $ssh_serv -x -f"
. ( ($SSH_PORT) ? " -p $(SSH_PORT)" : "" )
. " -L $SSH_LOCAL_PORT:$SSH_HOST:$CVS_PORT open";
# print STDERR "DEBUG: tunnel_cmd: $tunnel_cmd\n";
# execute the tunneling, and read the response from the server
open (TUNNELSH,"$tunnel_cmd |") or die "Could not execute $tunnel_cmd!";
chomp ($magicword = <TUNNELSH>);
# print STDERR "DEBUG: magicword = $magicword!\n";
# Now we can call system to execute the cvs command.
# print STDERR "Doing: $CVS_CMD|", ( ($cvs_serv) ? ('-d |', "$cvs_serv|") : ( ) ) , "@ARGV", "|\n";
$exitcode =
system "$CVS_CMD", ( ($cvs_serv) ? ('-d', $cvs_serv) : () ) , @ARGV;
if ($exitcode) { print STDERR "Could not execute CVS command!\n"; }
# close the tunnel
#print STDERR "DEBUG: ", ( "$SSH_CMD $ssh_serv -q -x -f"
# . ( ($SSH_PORT) ? " -p $SSH_PORT" : "" )
# . " $magicword" );
# print STDERR "before close\n";
system ( "$SSH_CMD $ssh_serv -q -x -f"
. ( ($SSH_PORT) ? " -p $SSH_PORT" : "" )
. " $magicword" );
# print STDERR "right after close\n";

View File

@@ -0,0 +1,34 @@
algorithm
bitset
complex
deque
fstream
functional
hash_map
hash_set
iomanip
ios
iosfwd
iostream
istream
iterator
limits
list
locale
map
memory
numeric
ostream
pthread_alloc
queue
set
slist
sstream
stack
stdexcept
streambuf
string
strstream
utility
valarray
vector

View File

@@ -0,0 +1,17 @@
cassert
cctype
cerrno
cfloat
climits
clocale
cmath
csetjmp
csignal
cstdarg
cstddef
cstdio
cstdlib
cstring
ctime
cwchar
cwctype

View File

@@ -0,0 +1,13 @@
ctype.h
locale.h
math.h
setjmp.h
signal.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
time.h
wchar.h
wctype.h

View File

@@ -0,0 +1,8 @@
fstream.h
iomanip.h
ios.h
iostream.h
istream.h
ostream.h
streambuf.h
strstream.h

View File

@@ -0,0 +1,3 @@
exception
new
typeinfo

View File

@@ -0,0 +1,3 @@
exception.h
new.h
typeinfo.h

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB