Difference "CppCMS For embedded systems" ver. 2 versus ver. 3
Content:
**Note:** _Available starting from CppCMS 0.0.4_ |
|
## General |
|
Generally CppCMS can be used as-is for embedded systems. However there are additional options that make this library optimized for embedded system: |
|
- Removal of intermediate buffers, caching and compression -- reduces memory footprint and removes dependency on `boost::iostreams`, zlib and bzip2 libraries. |
- Removed mod-prefork |
- Optional compilation in CGI mode -- removal of FastCGI and SCGI API and worker models. |
- Removed dynamic templates loading. |
|
This compilation allows building CppCMS using only following libraries: |
|
- libcgicc |
- libboost\_signals |
- libboost\_regex -- may be removed when using gcc-4.3 that implements tr1::regex (TODO). |
- libboost\_regex. |
|
## Compilation |
|
Build Flags: |
|
- `--enable-embedded` -- Create embedded version of cppcms. |
- `--enable-cgi` -- implement CGI API only. |
|
For example: |
|
./configure --host=arm-linux-gnu --prefix=/usr/arm-linux-gnu CXXFLAGS=-Os --enable-embedded --enable-cgi |
|
Would configure cross compilation make files for ARM platfor, |
|
_Notes:_ |
|
- Remember that you should build cgicc and boost as well |
- It is recommended to build `boost::regex` without ICU support in order to reduce executable size. |
|
## Static Linking |
|
You can link your application statically as following: |
|
### CGI Only |
|
You can build "almost" static build as following: |
|
g++ hello.o /path/to/libcppcms.a /path/to/libcppcmstranstext.a /path/to/libboost_signals.a /path/to/libboost_regex.a /path/to/libcgicc.a |
|
|
### With worker threads |
|
You can build "almost" static build as following: |
|
g++ hello.o /path/to/libcppcms.a /path/to/libcppcmstranstext.a /path/to/libboost_signals.a /path/to/libboost_regex.a /path/to/libcgicc.a -lrt -lpthread |
|
|
|
|
About
CppCMS is a web development framework for performance demanding applications.
Support This Project
Navigation
Main Page
Valid CSS
| Valid XHTML 1.0