From b5a1af6f999820564ead4867b1e5d5574778ee56 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 31 Oct 2005 21:02:30 +0000 Subject: initial import git-svn-id: http://svn.pjsip.org/repos/pjproject/main@1 74dad513-b988-da41-8d7b-12977e46ad98 --- INSTALL.txt | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 INSTALL.txt (limited to 'INSTALL.txt') diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100644 index 00000000..f928051e --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,132 @@ +Last Update: 2005/05/28 for pjproject-0.2.8 + + +COMMON PROBLEMS +================= +- make error +process_begin: CreateProcess((null), cl /c /nologo /DWIN32 /D_WIN32 /DPJ_GUID_TY +PE=PJ_GUID_COCREATEGUID /I../src ..\src\pj\ioqueue_winnt.c /Fooutput\pjlib_win32 +_vc\ioqueue_winnt.o, ...) failed. +make (e=2): The system cannot find the file specified. +make[1]: *** [output/pjlib_win32_vc/ioqueue_winnt.o] Error 2 + + solution: +make doesn't like spaces in vc98 PATH + + +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.6.tar.gz + $ cd pjproject-0.2.6 + + $ 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. + + +4. Additional flags (for debugging etc.) + ------------------------------------- + The build system for mingw/Linux accepts can additional flags, for example + for debugging. + + Example: + + $ (on pjproject root directory) + $ make CFLAGS=-ggdb "LDFLAGS=-L/foo/lib -lfoo" + + + +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 + + +GENERATING DOCUMENTATION +================================================================================ + +You need to have doxygen to generate documentation. + +To generate doxygen documentation with GNU make, + + $ (on pjproject root directory) + $ make doc + +If GNU make is not available, generate documentation on each project: + + $ 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 + + -- cgit v1.2.3