README.md 2.62 KB
Newer Older
Erwan Croze's avatar
Erwan Croze committed
1 2
[![pipeline status](https://gitlab.linphone.org/BC/public/belle-sip/badges/master/pipeline.svg)](https://gitlab.linphone.org/BC/public/belle-sip/commits/master)

François Grisez's avatar
François Grisez committed
3 4
Belle-sip
=========
5

François Grisez's avatar
François Grisez committed
6 7
Overview
--------
8

Simon Morlat's avatar
Simon Morlat committed
9 10 11 12
Belle-sip is a modern library implementing SIP (RFC3261) transport, transaction and dialog layers.
It is written in C, with an object oriented API.
It also comprises a simple HTTP/HTTPS client implementation.
Copyright 2012-now, Belledonne Communications SARL <sales@belledonne-communications.com>, all rights reserved.
13 14 15 16 17

Belle-sip is distributed to everyone under the GNU GPLv2 (see COPYING file for details).
Incorporating belle-sip within a closed source project is not possible under the GPL.
Commercial licensing can be purchased for that purpose from [Belledonne Communications](http://www.belledonne-communications.com).

François Grisez's avatar
François Grisez committed
18 19
Dependencies
------------
20

François Grisez's avatar
François Grisez committed
21
### Build-time dependencies
22

François Grisez's avatar
François Grisez committed
23
These are required to generate a C sourcefile from SIP grammar using [antlr3](http://www.antlr3.org/) generator:
24

François Grisez's avatar
François Grisez committed
25 26
* [Java SE](http://www.oracle.com/technetwork/java/javase/downloads/index.html) or OpenJDK
* [antlr 3.4](https://github.com/antlr/website-antlr3/blob/gh-pages/download/antlr-3.4-complete.jar)
27 28


François Grisez's avatar
François Grisez committed
29
### Runtime dependencies
30

Simon Morlat's avatar
Simon Morlat committed
31
- *libantlr3c* version 3.2 or 3.4 - but its source is included in belle-sip, no need to install it.
François Grisez's avatar
François Grisez committed
32
- *bctoolbox* (git://git.linphone.org/bctoolbox.git or <http://www.linphone.org/releases/sources/bctoolbox/>)
33 34


François Grisez's avatar
François Grisez committed
35
### Under Debian/Ubuntu
36

Simon Morlat's avatar
Simon Morlat committed
37
		apt-get install antlr3
38 39


François Grisez's avatar
François Grisez committed
40
### Under MacOS X using HomeBrew
41

François Grisez's avatar
François Grisez committed
42
		brew install libantlr3.4c homebrew/versions/antlr3
43 44


Nicolas Michon's avatar
Nicolas Michon committed
45
Building belle-sip with CMake
François Grisez's avatar
François Grisez committed
46
-----------------------------
47

François Grisez's avatar
François Grisez committed
48 49 50 51
		cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_prefix>
	
		make
		make install
52 53


François Grisez's avatar
François Grisez committed
54 55
Build options
-------------
56

François Grisez's avatar
François Grisez committed
57 58 59 60 61 62
* `CMAKE_INSTALL_PREFIX=<string>` : install prefix.
* `CMAKE_PREFIX_PATH=<string>`    : column-separated list of prefixes where to find dependencies.
* `ENABLE_TESTS=NO`               : disable non-regression tests.
* `ENABLE_STRICT=NO`              : build without strict build options like `-Wall -Werror`
* `ENABLE_SHARED=NO`              : do not build the shared library
* `ENABLE_STATIC=NO`              : do not build the static library
63 64


François Grisez's avatar
François Grisez committed
65 66
Note for packagers
------------------
67

François Grisez's avatar
François Grisez committed
68 69 70
Our CMake scripts may automatically add some paths into research paths of generated binaries.
To ensure that the installed binaries are striped of any rpath, use `-DCMAKE_SKIP_INSTALL_RPATH=ON`
while you invoke cmake.
71 72 73 74 75 76 77 78 79

Rpm packaging
belle-sip can be generated with cmake3 using the following command:
mkdir WORK
cd WORK
cmake3 ../
make package_source
rpmbuild -ta --clean --rmsource --rmspec belle-sip-<version>-<release>.tar.gz