No description
Find a file
2018-06-07 19:43:55 +02:00
.tx Add .desktop files on Transifex 2014-12-04 11:07:29 +01:00
build Improve RPM packaging. 2018-02-28 10:43:33 +01:00
cmake chore(FindSoci): add windows support 2018-05-23 16:48:07 +02:00
console Fix build with Clang 6.0. 2018-05-14 16:06:07 +02:00
coreapi fix cpim testers 2018-05-30 09:29:10 +02:00
daemon Fix build with Clang 6.0. 2018-05-14 16:06:07 +02:00
include Changed charset conversion function from 'any to any' to 'any to utf8' 2018-05-28 10:26:43 +02:00
java make sure android platform helper is compatible with linphone-android 3.x 2018-05-22 18:13:40 +02:00
m4 Fix configure when using --without-readline 2015-06-17 13:10:45 +02:00
scripts add mk-ca-bundle.pl to Makefile.am 2016-12-20 21:58:34 +01:00
share Allow parsing of CPIM with wrong "Content-type: Message/CPIM" header. 2018-04-30 10:24:53 +02:00
src Fix potential crash (rare) 2018-06-07 19:43:55 +02:00
tester Prevent tests from crashing if current call is NULL 2018-06-07 15:51:32 +02:00
tools [Doc generator] Generate a page for each listener. 2018-05-17 10:25:07 +02:00
wrappers Fix name of hold sound for android 2018-06-04 09:25:01 +02:00
.clang-format coding style: experimental use of a clang-format git pre-commit hook to use code convention 2015-08-24 11:10:17 +02:00
.cproject Merge remote-tracking branch 'linphone/master' into daemon 2015-03-18 11:52:35 +01:00
.git-pre-commit coding style: experimental use of a clang-format git pre-commit hook to use code convention 2015-08-24 11:10:17 +02:00
.gitignore Improve RPM packaging. 2018-02-28 10:43:33 +01:00
.project Merge remote-tracking branch 'public/master' into belle-sip 2012-12-19 11:13:52 +01:00
ABOUT-NLS purge out p2pproxy 2010-01-20 15:44:30 +01:00
AUTHORS ready for release 2011-02-02 22:24:11 +01:00
autogen.sh More resilient libtoolize path detection 2015-08-31 18:12:50 +02:00
BUGS purge out p2pproxy 2010-01-20 15:44:30 +01:00
ChangeLog purge out p2pproxy 2010-01-20 15:44:30 +01:00
CMakeLists.txt fix(core): do not export LINPHONE_EXPORTS in tester... + add ugly workarounds due to bad design 2018-05-24 13:28:01 +02:00
config.h.cmake Loading Cpim grammar instead of build this 2018-01-11 13:48:57 +01:00
config.rpath purge out p2pproxy 2010-01-20 15:44:30 +01:00
configure.ac Fix make distcheck 2017-06-28 11:13:23 +02:00
COPYING Replace non-ascii characters in COPYING 2016-07-06 14:51:09 +02:00
linphone.iss.in README: pff… autotools, what else? 2016-06-30 13:19:16 +02:00
linphone.spec.in Remove lp-gen-wrapper from the RPM spec file 2017-04-07 09:08:36 +02:00
Makefile.am Rename README into README.md 2017-02-24 14:48:52 +01:00
NEWS update version in CmakeLists.txt 2017-07-21 09:36:30 +02:00
README.arm purge out p2pproxy 2010-01-20 15:44:30 +01:00
README.M68k.txt purge out p2pproxy 2010-01-20 15:44:30 +01:00
README.macos.md Move from CUnit to BCUnit 2016-06-29 16:37:52 +02:00
README.md Update README.md about dependencies 2018-05-17 18:53:07 +02:00
README.mingw Rewrite README.mingw to match with 80-columned terminals 2015-02-24 10:27:40 +01:00
stamp-h.in purge out p2pproxy 2010-01-20 15:44:30 +01:00
TODO Enable to build linphone with SRTP support by using the packages provided by GNU/Linux distributions 2015-02-11 15:09:33 +01:00

liblinphone

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].

Building liblinphone

Required dependencies

  • 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)

Opitonal dependencies

  • Bzrtp[6]: zrtp stack used for Linphone Instant Messaging Encryption.
  • For API documentatino generation: sphinx, javasphinx, sphinx_csharp python modules are needed.

Build instructions

cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_prefixes>

make
make install

Supported build opitons

  • 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

Note for packagers

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.

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--.tar.gz

Notes for developers

Here is a short description of the content of the source tree.

  • coreapi/ is the central point of linphone, which handles relationship between sip signalisation and media streaming. It contains an easy to use api to create a sip phone.

  • console/

    • linphonec.c is the main file for the console version of linphone.
    • sipomatic.c / sipomatic.h contains the code for sipomatic, the test program that auto-answer to linphone calls.
    • shell.c (program name: linphonecsh) is a small utilities to send interactive commands to a running linphonec daemon.
  • share/ contains translation, documentation, rings and hello sound files.