123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- =============================
- Sofia-SIP build system README
- =============================
- :Author: Kai Vehmanen <kai -dot vehmanen -at- nokia -dot- com>
- :Author: Pekka Pessi <pekka -dot pessi -at- nokia -dot- com>
- :Version: 20051011-5
- :Formatting: reStructuredText, http://docutils.sourceforge.net/rst.html
- Introduction
- ============
- The Sofia-SIP build system practices are documented in this
- file. The instructions are aimed at developers.
- Quick start
- ===========
- To build Sofia-IP::
- sh> ``./autogen.sh`` (if building from a fresh CVS checkout)
- sh> ``./configure``
- sh> ``make``
- Autotool notes
- ==============
- Macros
- ------
- Sofia-SIP specific macros are prefixed with "``SAC\_``" and are
- defined in files under the toplevel "m4/" directory.
- Makefile target notes
- ---------------------
- - all optionally compiled source files should be listed
- separately in ``DIST_SOURCES`` variable (otherwise ``make dist``
- will fail)
- Makefile fragments
- ------------------
- Some common makefile rules are in 'rules' subdirectory.
- Maintainer mode
- ---------------
- Sofia-SIP tree is by default configured with automake
- maintainer mode disable. In other words, Makefiles do not
- contain rules for recreating or updating configure, Makefiles
- or other autotool-generated files. To update these files,
- you need to run top-level autogen.sh script.
- Those developers who need to often modify configure.ac, Makefile.am
- and macro files, can enable maintainer mode with configure
- option '--enable-maintainer-mode'.
- Running tests
- =============
- Sofia-SIP has quite complete suite of test cases. It is prudent to run
- them while making changes and before committing them to revision control
- system. However, running certain tests takes quite a long time to
- execture. Therefore, they are run only if the environment variable
- EXPENSIVE_CHECKS has been set. EXPENSIVE_CHECKS is also set by the build
- system if configure option '--enable-expensive-checks' has been used.
- On hosts with i386 architecture, it is possible to run tests under
- valgrind. Use the make target 'valcheck' for that purpose.
- Code-tree layout
- ================
- Most of the code resides in the libsofia-sip-ua directory.
- The main library, libsofia-sip-ua.so, is created by
- collecting object files (for example bnf/bnf_objs.o) from
- individual modules.
- There are some portability issues with the way the
- shared library is currently built, and we are looking
- for ways to improve the situation.
- Making releases
- ===============
- See sofia-sip/docs/release_management.txt
- Developer documentation
- =======================
- Generating reference documentation from source code
- ---------------------------------------------------
- The libsofia-sip-ua library has a top-level make target
- "doxygen" for generating the HTML reference documentation.
- The pages will be created to libsofia-sip-ua/docs
- subdirectory.
- This special target is primarily meant for use by
- the Sofia-SIP website admins, but can be used by anyone
- with the proper set of tools:
- - Doxygen, http://www.stack.nl/~dimitri/doxygen/
- - Dot graph tool, http://www.research.att.com/sw/tools/graphviz/
|