summaryrefslogtreecommitdiff
path: root/README.txt
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-10-21 18:28:07 +0000
committerBenny Prijono <bennylp@teluu.com>2006-10-21 18:28:07 +0000
commit3d1b2c76b3d30c75642f045de76dae8bc6384114 (patch)
tree4dc6558e52cb1c354419b0ea1807a8a725b7d660 /README.txt
parent059af568d6c275b40d241716155fbfe4f27f2e5b (diff)
Updated README.txt
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@787 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'README.txt')
-rw-r--r--README.txt109
1 files changed, 87 insertions, 22 deletions
diff --git a/README.txt b/README.txt
index 1b2685b2..864b831e 100644
--- a/README.txt
+++ b/README.txt
@@ -1,8 +1,8 @@
-
Getting Started: Building and Using PJSIP and PJMEDIA
- [Last Update: Sept 13, 2006]
+ [Last Update: $Date: 2006-10-21 19:14:22 +0100 (Sat, 21 Oct 2006) $]
+
_________________________________________________________________
This article describes how to download, customize, build, and use the open
@@ -11,13 +11,14 @@ Getting Started: Building and Using PJSIP and PJMEDIA
Quick Info
+ _________________________________________________________________
- Building with GNU tools
+ Building with GNU tools (Linux, *BSD, MacOS X, mingw, etc.)
Generally these should be all that are needed to build the libraries,
applications, and samples:
- $ ./configure
- $ make dep && make clean && make
+ $ ./configure
+ $ make dep && make clean && make
Building Win32 Target with Microsoft Visual Studio
Generally we can just do these steps:
@@ -33,9 +34,14 @@ Quick Info
2. Create an empty pjlib/include/pj/config_site.h, and
3. build the pjsua_wince application.
- With Visual Studio for Win32 target and the GNU build systems, the output
- libraries will be put in lib directory under each projects, and the output
- binaries will be put in bin directory under each projects.
+ Locating Output Binaries/Libraries
+ Libraries will be put in lib directory, and binaries will be put in
+ bin directory, under each projects.
+
+ Running the Applications
+ After successful build, you can try running pjsua application on
+ pjsip-apps/bin directory. PJSUA manual is in
+ http://www.pjsip.org/pjsua.htm.
Table of Contents:
@@ -55,7 +61,8 @@ Table of Contents:
2.2 Disk Space Requirements
- 3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build Systems
+ 3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build
+ Systems
3.1 Supported Targets
@@ -67,6 +74,8 @@ Table of Contents:
3.5 Cross Compilation
+ 3.6 Build Customizations
+
4. Building for Windows Targets with Microsoft Visual Studio
4.1 Requirements
@@ -276,9 +285,21 @@ Individual Directory Inside Each Project
2. Build Preparation
_________________________________________________________________
-2.1 config_site.h file
+2.1 Create config_site.h file
_________________________________________________________________
+ Before source files can be built, the pjlib/include/pj/config_site.h file
+ must be created (it can just be an empty file).
+
+ Note:
+ When the Makefile based build system is used, this process is taken
+ care by the Makefiles. But when non-Makefile based build system (such
+ as Visual Studio) is used, the config_site.h file must be created
+ manually.
+
+
+What is config_site.h File
+
The pjlib/include/pj/config_site.h contains local customizations to the
libraries.
@@ -293,9 +314,10 @@ Individual Directory Inside Each Project
Please find list of configuration macros that can be overriden from these
files:
- * pjlib/config.h file
- * pjmedia/config.h file
- * pjsip/sip_config.h file
+ * PJLIB Configuration (the pjlib/config.h file)
+ * PJLIB-UTIL Configuration (the pjlib-util/config.h file)
+ * PJMEDIA Configuration (the pjmedia/config.h file)
+ * PJSIP Configuration (the pjsip/sip_config.h file)
A sample config_site.h file is also available in
pjlib/include/config_site_sample.h.
@@ -322,7 +344,7 @@ Creating config_site.h file
_________________________________________________________________
The building process needs:
- * about 50-60 MB of disk space to store the uncompressed source files, and
+ about 50-60 MB of disk space to store the uncompressed source files, and
* about 30-50 MB of additional space for building each target
(Visual Studio Debug and Release are considered as separate targets)
@@ -415,24 +437,31 @@ Using Default Settings
The configure script accepts standard customization, which details can be
obtained by executing ./configure --help.
- For example, to build the libraries/application in debug mode:
+ Below is an example of specifying CFLAGS in configure:
- $ ./configure CFLAGS="-g"
+ $ ./configure CFLAGS="-O3 -DNDEBUG -msoft-float -fno-builtin"
...
3.4 Cross Compilation
_________________________________________________________________
- (.. to be completed)
+ Cross compilation should be supported, using the usual autoconf syntax:
- $ ./configure --target=powerpc-linux-unknown
+ $ ./configure --host=arm-elf-linux
...
+ Since cross-compilation is not tested as often as the "normal" build, please
+ watch for the ./configure output for incorrect settings (well ideally this
+ should be done for normal build too).
+
+ Please refer to Porting Guide for further information about porting PJ
+ software.
+
3.5 Running make
_________________________________________________________________
@@ -473,6 +502,22 @@ Using Default Settings
directory under each project to build only the particular project.
+ 3.6 Build Customizations
+ _________________________________________________________________
+
+ Build features can be customized by specifying the options when running
+ ./configure as described in Running Configure above.
+
+ In addition, additional CFLAGS and LDFLAGS options can be put in user.mak
+ file in PJ root directory (this file may need to be created if it doesn't
+ exist). Below is a sample of user.mak file contents:
+
+
+
+ export CFLAGS += -msoft-float -fno-builtin
+ export LDFLAGS +=
+
+
4. Building for Windows Targets with Microsoft Visual Studio
_________________________________________________________________
@@ -485,7 +530,10 @@ Using Default Settings
* Microsoft Visual Studio 6,
* Microsoft Visual Studio .NET 2002,
* Microsoft Visual Studio .NET 2003,
- * Microsoft Visual C++ Express 2005 with Platform SDK and DirectX SDK,
+ * Microsoft Visual C++ Express 2005 with Platform SDK,
+ * DirectX SDK is needed if PJMEDIA DirectSound sound backend is explicitly
+ choosen (default is using PortAudio, which uses DirectSound via run-time
+ bindings, so DirectX SDK is not needed)
For the host, the following are required:
* Windows NT, 2000, XP, 2003, or later ,
@@ -698,6 +746,19 @@ Using Default Settings
LDFLAGS: "-lpj-$(TARGET_NAME) -lpjmedia-$(TARGET_NAME)"
+ 6. Link with system spesific libraries:
+
+ Windows
+ Add (among other things): wsock32.lib, ws2_32.lib, ole32.lib,
+ dsound.lib
+
+ Linux, *nix, *BSD
+ Add (among other things): '-lpthread -lm' (at least).
+
+ MacOS X
+ Add (among other things): '-framework CoreAudio -lpthread -lm'.
+
+
Appendix I: Common Problems/Frequently Asked Question (FAQ)
_________________________________________________________________
@@ -712,8 +773,12 @@ Appendix I: Common Problems/Frequently Asked Question (FAQ)
- Thanks for using PJ libraries and for reading this document. Please
- send feedbacks or general comments to <bennylp at pjsip dot org>.
- Benny Prijono
+
+
+ _________________________________________________________________
+
+ Feedback:
+ Thanks for using PJ libraries and for reading this document. Please
+ send feedbacks or general comments to <bennylp at pjsip dot org>.