### Goals |
|
CppCMS aims to be compatible with any reasonably modern POSIX compatible OS and be build with any reasonable modern compiler. |
|
### Compilers Support |
|
The code is build and tested under following compilers: |
|
- GNU Compiler Collection 3.4, 4.1, 4.2, 4.3 |
- Intel Compiler 11.0 |
|
|
### Operating System Support |
|
CppCMS runs on Linux 2.6, FreeBSD, Open Solaris and Windows/Cygwin. |
|
Any other reasonably modern UNIX like system should be supported as well. |
|
### Tested platforms: |
|
- Linux 2.6.18 x86 and x86_64 are primary testing and development platform. |
- Primary testing and development platform |
- Linux 2.6.18, x86/x86_64 with GCC 4.1 and Boost 1.33.1 |
|
- Compilers: GCC 4.1, GCC 4.3 and Intel Compiler 11.0 |
- Boost 1.33.1 and 1.36 |
- Cygwin<sup><a href="#note1">1</a></sup> using GCC 3.4, Boost 1.34 |
- FreeBSD 7.1<sup><a href="#note1">1</a></sup> using GCC 4.2, Boost 1.34 |
- OpenSolaris 2008.5 using GCC 3.4, Boost 1.36. |
- Additional tested platforms: |
- Linux with: |
- GCC 4.3 and Boost 1.35 |
- Intel Compiler 11.0 with Boost 1.33.1 and 1.36 |
- Cygwin<sup><a href="#note1">1</a></sup> using GCC 3.4, Boost 1.33.1 |
- FreeBSD 7.1<sup><a href="#note1">1</a></sup> using GCC 4.2, Boost 1.34 |
- OpenSolaris 2008.5 using GCC 3.4, Boost 1.36. |
- Linux ARM embedded on qemu-arm, with gcc 4.1 and |
embedded build of CppCMS. |
|
### Windows |
|
Windows only is supported via Cygwin POSIX compatibility layer. |
|
At some point it _may be_ partially supported |
via MinGW if there would be volunteers that would maintain this platform. |
|
_Rationale_: Windows is too non-standard platform to support it. It is too developer unfriendly to put an effort in it. |
|
--------------- |
|
1. <span id="note1"></span> These platforms lacks of POSIX process shared mutex support. Thus: |
|
- Prefork cache module uses fcntl for serialization that may hurt the performance. |
- Prefork compatibility mode of files bases session storage is disabled (nfs may be used). |