No description
Find a file
2017-12-19 11:09:28 +01:00
.tx
build Adding soci dependency for liblinphone RPM 2017-12-11 11:45:34 +01:00
cmake fix crash in soci in Android and iOS 2017-10-27 15:52:52 +02:00
console
coreapi feat(MainDb): enable legacy history import 2017-12-18 17:37:16 +01:00
daemon
include feat(chat-room): CapabilitiesMask is now an EnumMask type 2017-12-19 11:09:28 +01:00
java fix(core): rename some methods => Do not set a plural noun before "Count"!!! 2017-12-04 15:29:01 +01:00
m4
scripts
share
src feat(chat-room): CapabilitiesMask is now an EnumMask type 2017-12-19 11:09:28 +01:00
tester chore(tester/db/linphone.db): update schema with db_module_version 2017-12-18 15:35:17 +01:00
tools feat(ChatRoom): provide an abstract chat room for chat room migration proxy 2017-12-12 16:07:49 +01:00
wrappers Fix missing parenthesis in java wrapper 2017-12-15 13:52:16 +01:00
.clang-format
.cproject
.git-pre-commit
.gitignore
.project
ABOUT-NLS
AUTHORS
autogen.sh
BUGS
ChangeLog
CMakeLists.txt Add ENABLE_SPHINX_DOC CMake option definition and fix CPP wrapper compilation. 2017-11-16 18:08:50 +01:00
config.h.cmake
config.rpath
configure.ac
COPYING
linphone.iss.in
linphone.spec.in
Makefile.am
NEWS
README.arm
README.M68k.txt
README.macos.md
README.md
README.mingw
stamp-h.in
TODO

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)

Opitonal dependencies

  • Bzrtp[6]: zrtp stack used for Linphone Instant Messaging Encryption

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=NO : do not generate the reference documentation of liblinphone
  • 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.