wiki:Getting-Started/Build-Preparation
Last modified 8 years ago Last modified on 04/28/09 15:36:05

Build Preparation

  1. Create config_site.h file
  2. What is config_site.h File
  3. Creating config_site.h file

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.

All customizations should be put in this file instead of modifying PJ's files, because if PJ's files get modified, then those modified files will not be updated the next time the source is synchronized. Or in other case, the local modification may be overwritten with the fresh copy from the SVN.

Putting the local customization to the config_site.h solves this problem, because this file is not included in the version control, so it will never be overwritten by "svn update" command.

Please find list of configuration macros that can be overriden from these files:

  • PJLIB Configuration (the pjlib/config.h file)
  • PJLIB-UTIL Configuration (the pjlib-util/config.h file)
  • PJNATH Configuration (the pjnath/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.

Creating config_site.h file

The simplest way is just to create an empty file, to use whetever default values set by the libraries.

Another way to create the config_site.h file is to write something like the following:

// Uncomment to get minimum footprint (suitable for 1-2 concurrent calls only)
//#define PJ_CONFIG_MINIMAL_SIZE

// Uncomment to get maximum performance
//#define PJ_CONFIG_MAXIMUM_SPEED

#include <pj/config_site_sample.h>