BUILD REQUIREMENTS ================== The UniMRCP project depends on a number of third party tools and libraries which must be installed first. All the required dependencies are available to download prepackaged for the UniMRCP use from the following location: http://www.unimrcp.org/downloads/dependencies Alternatively, original versions of the libraries as well as patches on them can be downloaded separately from the following location: http://www.unimrcp.org/dependencies References: 1. Apache Portable Runtime [>=1.2.x] (http://apr.apache.org). In order to build any part of the UniMRCP project, the Apache Portable Runtime (APR) and the APR Utility (APR-util) libraries are required. The libraries provide a consistent interface to underlying platform-specific implementations. 2. Sofia-SIP [>=1.12.6] (http://sofia-sip.sourceforge.net). Sofia-SIP is an open-source SIP User-Agent library, compliant with the IETF RFC3261 specification. The library is utilized for implementation of SIP signaling for MRCPv2. The SDP message parser is also used for both MRCPv2 (SIP/SDP) and MRCPv1 (RTSP/SDP). GNU BUILD ========= Prerequisites: autoconf 2.59 or newer automake libtool 1.4 or newer gcc pkg-config Procedure: If the UniMRCP source is checked out from the repository, the "bootstrap" script must be run first in order to generate the "configure" script and other required files. ./bootstrap The usual "configure", "make", "make install" sequence of commands should follow in order to build and install the project from source. ./configure make make install As a result, the project will be installed in the directory "/usr/local/unimrcp" with the following layout: bin binaries (unimrcpserver, unimrcpclient, ...) conf configuration files (unimrcpserver.xml, unimrcpclient.xml, ...) data data files include header files lib shared (convenience) libraries log log files plugin run-time loadable modules There are a couple of options which can additionally be configured. In order to specify where to look for the APR and APR-util libraries, use the "--with-apr=" and "--with-apr-util=" options respectively. For example: ./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr In order to specify where to look for the Sofia-SIP library, use the "--with-sofia-sip=" option. For example: ./configure --with-sofia-sip=/usr/local/sofia-sip In order to generate executables and shared libraries for x86-64 architecture, use the "-m64" option as follows: CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64 ./configure In order to generate executables and shared libraries for i386 architecture, use the "-m32" option as follows: CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 ./configure In order to install the default configuration, use the following commands: cd conf make def-conf In order to install the default data files, use the following commands: cd data make def-data In order to build a Doxygen generated documentation, use the following command: make dox WINDOWS BUILD ============= Prerequisites: Microsoft Visual Studio 2005 or 2010. One-time pre-build setup: [optional] This step can be skipped if the dependencies are installed in their default locations. Otherwise, the paths in the corresponding property sheets must be modified accordingly. Below is the content of property sheets for Visual Studio 2005, which are located in the directory "build/vsprops". Similarly, property sheets for Visual Studio 2010 can be found in the directory "build/props". apr.vsprops sofiasip.vsprops Procedure: 1. Open one of the available solution files: * for Visual Studio 2005, use unimrcp.sln, * for Visual Studio 2010, use unimrcp-2010.sln. 2. Choose a platform (Build -> Configuration Manager): * win32 * x64. 3. Choose a configuration (Build -> Configuration Manager): * Debug * Release. 4. Build the solution (Build -> Build Solution). One-time output directory setup: Build the "prepare.vcproj" utility project by right clicking on the project icon from the Solution Explorer (tools->prepare) and selecting the Build command from the context menu. This routine will setup the output directory and copy all the required APR, APR-Util, and Sofia-SIP libraries as well as the default configuration and data files. As a result, the output directory layout will look like the following: bin binaries (unimrcpserver, unimrcpclient, ...) and all the required dlls conf configuration files (unimrcpserver.xml, unimrcpclient.xml, ...) data data files lib libraries log log files plugin run-time loadable modules