Last Update: 2005/03/13 for pjproject-0.2.5 Hello.. BUILD INSTRUCTIONS ========================================================================================= The main target of the build process is to build executable pjsip/bin/pjsua.exe. 1. Build instructions for Microsoft Visual Studio .NET 2003 ---------------------------------------------- - Open solution file: build/pjproject.sln There will be some dialogs appear asking about Source Safe, just ignore it. - Build the solution. That should build every single projects in pjproject. 2. Build instructions for Microsoft Visual Studio 6 ------------------------------------------------ Note: MSVC6 workspace is normally updated less often than MSVC7.1 projects. Especially during intermediate release. Normally the status will be noted in the web page. - Open workspace file: build/pjproject.dsw - Perform batch build. That should build every single projects in pjproject. 3. Build instructions for Linux i386, Mingw ---------------------------------------- Note: mingw/Linux Makefiles are normally updated less often than MSVC7.1 projects. Step-by-step instruction to build the whole thing: $ tar xzvf pjproject-0.2.5.tar.gz $ cd pjproject $ export TARGET=mingw <== for Mingw, or $ export TARGET=linux-i386 <== for Linux $ make dep $ make all That should build all libraries and test applications (including pjsua). There are some other make targets: $ make clean ==> clean files (except libraries, binaries, & dependency files). $ make realclean ==> clean everything $ make distclean ==> ditto. Note: - pjsua for Mingw and Linux build doesn't have audio device at present. REDUCING SIZE ========================================================================================= There are some C macros that can be used to reduce the size. For Mingw and Linux build, these macros are activated if you specify MINSIZE=1 during make, e.g.: $ .. (we're in pjproject directory) .. $ make MINSIZE=1 all Then after building the projects, you can check the size of the libraries: $ make size If you use Microsoft Visual Studio, then you'll have to set the C macros manually: pjlib/src/pj/config.h: - #define PJ_HAS_TCP 0 // ==> to exclude TCP - #define PJ_HAS_THREADS 0 // ==> to exclude threads - #define PJ_FUNCTIONS_ARE_INLINED 0 // ==> do not inline. pjlib/src/pj/log.h: - #define PJ_LOG_MAX_LEVEL 0 // ==> disable all tracing pjsip/src/pjsip/sip_config.h: - #define PJSIP_HAS_DUMP 0 // ==> disable state dump logging. GENERATING DOCUMENTATION ========================================================================================= To generate doxygen documentation, you'll have to go to each of the projects, e.g.: $ cd pjsip $ doxygen docs/doxygen.cfg $ cd pjlib $ doxygen docs/doxygen.cfg etc.. The HTML files will be put under docs/html directory. That's about it I guess, sorry couldn't write more. Feel free to drop me a note if you encounter any problems. Thanks, Benny Prijono