Difference "CppCMS For embedded systems" ver. 4 versus ver. 5
		
	
	
		Content:
		
	
	
	
		**Note:** _Scheduled for 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. | 
	
	
	
		- Caching and compression are removed -- 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. | 
	
	
	
		 | 
	
	
	
		## 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