### Goals
|
|
CppCMS aims to be compatible with any reasonably modern POSIX compatible OS and be build with any reasonable modern compiler, including embedded platforms.
|
|
### 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:
|
|
- Primary testing and development platform
|
- Linux 2.6.18, x86/x86_64 with GCC 4.1 and Boost 1.33.1
|
|
- Additional tested platforms:
|
- Linux with:
|
- GCC 4.3 and Boost 1.35
|
- Intel Compiler 11.0 with Boost 1.33.1 and 1.36
|
- Windows/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 using qemu-arm, with gcc 4.1 and
|
embedded build of CppCMS.
|
|
### Native Windows Support
|
|
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.
|
Current (0.0.x) CppCMS version supports Windows only via Cygwin POSIX compatibility layer.
|
|
_Rationale_: Windows is too non-standard platform to support it. It is too developer unfriendly to put an effort in it.
|
The upcoming CppCMS 1.x would support Windows
|
using MinGW toolchain.
|
|
---------------
|
|
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). |