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

smorlat's avatar
smorlat committed
9

10 11
# Building liblinphone

12

13
## Required dependencies
14

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


27
## Optional dependencies
Gautier Pelloux-Prayer's avatar
Gautier Pelloux-Prayer committed
28

29 30
* **Bzrtp[6]**: zrtp stack used for Linphone Instant Messaging Encryption.
* For API documentatino 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 36 37 38
	cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_prefixes>
	
	make
	make install
39

aymeric's avatar
aymeric committed
40

41
## Supported build opitons
42

43 44 45 46 47 48 49 50 51 52 53
* **`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
* **`ENABLE_VCARD=NO`**               : disable VCard support
* **`ENABLE_SQLITE_STORAGE=NO`**      : disable SQlite user data storage (message, history, contacts list)
* **`ENABLE_TOOLS=NO`**               : do not build tool binaries
* **`ENABLE_LIME=YES`**               : disable Linphone Instant Messaging Encryption
54

55
## Note for packagers
56

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

jehan's avatar
jehan committed
61 62 63 64 65 66 67
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
68 69


70
# Credits
aymeric's avatar
aymeric committed
71

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

74
# License
Gautier Pelloux-Prayer's avatar
Gautier Pelloux-Prayer committed
75

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


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

aymeric's avatar
aymeric committed
81

François Grisez's avatar
François Grisez committed
82 83 84 85 86
- [1] linphone-desktop: git://git.linphone.org/linphone-desktop.git
- [2] bctoolbox: git://git.linphone.org/bctoolbox.git *or* <https://www.linphone.org/releases/sources/bctoolbox>
- [3] belle-sip: git://git.linphone.org/belle-sip.git *or* <https://www.linphone.org/releases/sources/belle-sip>
- [4] mediastreamer2: git://git.linphone.org/mediastreamer2.git *or* <https://www.linphone.org/releases/sources/mediastreamer>
- [5] belcard: git://git.linphone.org/belcard.git *or* <https://www.linphone.org/releases/sources/belcard>
87
- [6] bzrtp: git://git.linphone.org/bzrtp.git *or* <https://www.linphone.org/releases/sources/bzrtp>