summaryrefslogtreecommitdiff
path: root/INSTALL.txt
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2005-10-31 21:02:30 +0000
committerBenny Prijono <bennylp@teluu.com>2005-10-31 21:02:30 +0000
commitb5a1af6f999820564ead4867b1e5d5574778ee56 (patch)
tree8323d870699994f8b75001f961fd5e1780c0f76a /INSTALL.txt
initial import
git-svn-id: http://svn.pjsip.org/repos/pjproject/main@1 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'INSTALL.txt')
-rw-r--r--INSTALL.txt132
1 files changed, 132 insertions, 0 deletions
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
+<bennylp@bulukucing.org>
+