About portability
Project was started as cross-platform with two main target platforms: few *nixes and Windows. But now I lost interest to Windows. Of cause, I don't remove code for Windows specially, but I don't check code on Windows platform and don't worry about Windows when writing new code during long time. But margine of code is enough, so this support may be added, if somebody would want use this project under Redmond's OS.
Platforms and Compilers, current state
My primary platform is Linux, but I made few efforts to suport FreeBSD.
Well, in code I mentioned NetBSD and OpenBSD, but due to restrictions in threads implementation on this platforms, I'm expect problems here.
Really, I don't see blocking problems to use libraries from this project on any POSIX-compliant OS, that has good threads implementation.
The same words applicable to compilers: now I use gcc 4.x, but 3.4 enough too or any other compiler, that implement modern C++ (near ISO/IEC 14882:2003 standard).
Other useful tools are not beyond the normal POSIX system tools, except Make: I'm expect GNU make 3.80 or better. Not too strong requirement for *nixes.
In the past Complement work only with STLport STL implementation. Now it may use any modern STL (libstdc++ in particular).
Unit tests use Boost Unit Test Framework.
Platforms and Compilers, historical
Really
Libraries worked with following platforms and C++ compilers:
Target Platform | C++ compilers |
---|---|
Sun Solaris (IA-32) | gcc 2.95.3, gcc 3.1.1, (SunSoft CC 5.2) |
Sun Solaris (SPARC) | gcc 2.95.3, gcc 3.1.1, (SunSoft CC 5.2) |
Linux | gcc 2.95.3, gcc 3.1.1 |
HP-UX 11.00 (PA-RISC) | HP aCC A.03.13 |
Windows | (VC++ 5, VC++ 6) |
Other requirements, historical
- GNU make v. 3.79.1 (for Unix-like platforms);
- Good C++ compiler; I hope now it is not problem: you can use GNU gcc 2.95.3, 3.1.1, or 3.2.x (other gcc versions may work too, but in particular I am not recommend to use gcc before 2.95.3, and early 3.x releases; 2.96, that shipout with RedHat, IMHO isn't good choice too);
- STLport---STL implementation. Very efficient, very portable STL implementation. Instead of have troubles with different (and sometimes ugly) STL implementations that come with C++ compilers, I use STLport.
- Python interpreter to make more-or-less automatic tests.