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

jehan's avatar
jehan committed
3
liblinphone
4
===========
François Grisez's avatar
François Grisez committed
5

jehan's avatar
jehan committed
6 7
This is liblinphone, a free (GPL) video voip library based on the SIP protocol.
This library is used by Linphone. It's source code is available at *linphone-desktop[1]*.
François Grisez's avatar
François Grisez committed
8

9

10 11
# Building liblinphone

12

13
## Required dependencies
14

15 16 17
* **BcToolbox[2]:** portability layer
* **BelleSIP[3]:** SIP stack
* **Mediastreamer2[4]:** multimedia engine
18
* **Belcard[5]:** VCard4 support
19 20
* **libxml2**
* **zlib**
21 22 23
* **libsqlite3:** user data storage (can be disabled)
* **gettext** and **libintl**: internationalization support (can be disabled)
* **python interpreter** and **pystache**, **six** python module (needed for C++/C#/Java wrappers and API documentation)
24
* **doxygen** and **dot** (needed for C++ wrapper and API documentation)
25 26


27
## Optional dependencies
28

29 30
* **Bzrtp[6]**: zrtp stack used to secure calls and for LIME (Linphone Instant Messaging Encryption).
* For API documentation generation: **sphinx**, **javasphinx**, **sphinx_csharp** python modules are needed.
Simon Morlat's avatar
Simon Morlat committed
31 32


33
## Build instructions
Simon Morlat's avatar
Simon Morlat committed
34

François Grisez's avatar
François Grisez committed
35
	cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_prefixes>
36

François Grisez's avatar
François Grisez committed
37 38
	make
	make install
39

aymeric's avatar
aymeric committed
40

41
## Supported build opitons
42

43 44 45 46 47 48 49
* **`CMAKE_INSTALL_PREFIX=<string>`** : install prefix
* **`CMAKE_PREFIX_PATH=<string>`**    : column-separated list of prefixes where to search for dependencies
* **`ENABLE_SHARED=NO`**              : do not build the shared library
* **`ENABLE_STATIC=NO`**              : do not build the static library
* **`ENABLE_STRICT=NO`**              : build without strict compilation flags (-Wall -Werror)
* **`ENABLE_DOC=YES`**                : Make the reference documentation of liblinphone to generated
* **`ENABLE_UNIT_TESTS=NO`**          : do not build testing binaries
50
* **`ENABLE_VCARD=NO`**               : disable VCard4 support
51
* **`ENABLE_TOOLS=NO`**               : do not build tool binaries
52
* **`ENABLE_LIME=NO`**                : disable Linphone Instant Messaging Encryption
53

54
## Note for packagers
55

François Grisez's avatar
François Grisez committed
56 57 58
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.
59

jehan's avatar
jehan committed
60 61 62 63 64 65 66
Rpm packaging
liblinphone can be generated with cmake3 using the following command:
mkdir WORK
cd WORK
cmake3 ../
make package_source
rpmbuild -ta --clean --rmsource --rmspec liblinphone-<version>-<release>.tar.gz
aymeric's avatar
aymeric committed
67 68


69
# Credits
aymeric's avatar
aymeric committed
70

71
Belledonne Communications SARL, all rights reserved.
aymeric's avatar
aymeric committed
72

73
# License
74

75
This software is distributed under GNU GPLv2. Please read COPYING file for full license text.
François Grisez's avatar
François Grisez committed
76 77 78 79


------------------------------

aymeric's avatar
aymeric committed
80

81 82 83 84 85 86
- [1] linphone-desktop: https://gitlab.linphone.org/BC/public/linphone-desktop
- [2] bctoolbox: https://gitlab.linphone.org/BC/public/bctoolbox *or* <https://www.linphone.org/releases/sources/bctoolbox>
- [3] belle-sip: https://gitlab.linphone.org/BC/public/belle-sip *or* <https://www.linphone.org/releases/sources/belle-sip>
- [4] mediastreamer2: https://gitlab.linphone.org/BC/public/mediastreamer2 *or* <https://www.linphone.org/releases/sources/mediastreamer>
- [5] belcard: https://gitlab.linphone.org/BC/public/belcard *or* <https://www.linphone.org/releases/sources/belcard>
- [6] bzrtp: https://gitlab.linphone.org/BC/public/bzrtp *or* <https://www.linphone.org/releases/sources/bzrtp>