1 **********************************
2 * Compiling linphone on macos X *
3 **********************************
6 - Xcode (download from apple or using appstore application)
7 - Macports: http://www.macports.org/
8 Download and install macports using its user friendly installer.
10 - Install build time dependencies
11 $ sudo port install automake autoconf libtool intltool
13 - Install some linphone dependencies with macports
14 $ sudo port install speex
15 $ sudo port install libosip2 # WARNING: currently outdated in macport
16 $ sudo port install libeXosip2 #WARNING: currently outdated in macport
17 $ sudo port install ffmpeg-devel -gpl2
18 $ sudo port install libvpx
19 $ sudo port install readline
21 - Install srtp (optional) for call encryption
22 $ sudo port install srtp
23 If that fails, get from source:
24 $ git clone git://git.linphone.org/srtp.git
25 $ cd srtp && autoconf && ./configure --prefix=/opt/local && make libsrtp.a
28 - Install zrtpcpp (optional), for unbreakable call encryption
29 $ sudo port install cmake
30 $ git clone git://git.linphone.org/zrtpcpp.git
31 $ cd zrtpcpp && cmake -Denable-ccrtp=false . && make
34 - Install gtk. It is recommended to use the quartz backend for better integration.
35 $ sudo port install gtk2 +quartz +no_x11
36 $ sudo port install gtk-osx-application -python27
37 $ sudo port install hicolor-icon-theme
39 - Install additional librairies required for wizard (linphone.org account creation assistant)
40 $ sudo port install libsoup
42 - Install sqlite3 for message storage
43 $ sudo port install sqlite3
45 ** WARNING 2013-03-06 glib-networking is currently broken in macports - generates crashes or hangs when used in a bundle **
46 As a temporary workaround, build a newer version by yourself:
47 $ wget http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.34/glib-networking-2.34.2.tar.xz
48 $ tar -xvzf glib-networking-2.34.2.tar.xz
49 $ cd glib-networking-2.34.2
50 $ ./configure --prefix=/opt/local --without-ca-certificates && make
53 - Compile and install the tunnel library (optional, proprietary extension only)
55 If you got the source code from git, run ./autogen.sh first
57 Then or otherwise, do:
59 $ ./configure --prefix=/opt/local && make && sudo make install
64 If you got the source code from git, run ./autogen.sh first.
66 Then or otherwise, do:
68 $ ./configure --prefix=/opt/local --with-readline=/opt/local --disable-x11 --with-srtp=/opt/local --with-gsm=/opt/local --enable-zrtp && make
76 If you want to generate a portable bundle, then install gtk-mac-bundler.
78 $ git clone https://github.com/jralls/gtk-mac-bundler.git
79 $ cd gtk-mac-bundler && make install
80 $ export PATH=$PATH:~/.local/bin
81 #make this dummy charset.alias file for the bundler to be happy:
82 $ sudo touch touch /opt/local/lib/charset.alias
84 Then run, inside linphone source tree:
85 1. Run configure as told before but with "--enable-relativeprefix" appended.
90 The resulting bundle is located in linphone build directory, together with a zipped version.
92 For a better appearance, you can install the gtk-quartz-engine (a gtk theme) that make gtk application more similar to other mac applications (but not perfect).
94 $ git clone https://github.com/jralls/gtk-quartz-engine.git
95 $ cd gtk-quartz-engine
97 $ ./configure --prefix=/opt/local && make
100 Generate a new bundle to have it included.
105 The Makefile.am rules used to generate the bundle fetch a libiconv.2.dylib from a linphone download page.
106 This library adds some additional symbols so that dependencies requiring the iconv from /usr/lib and the ones requiring from the bundle are both satisfied.
107 In case this library needs to generated, here are the commands:
108 $ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
110 $ patch -p1 < ../linphone/build/macos/libiconv-macos.patch
111 $ ./configure --prefix=/opt/local --disable-static 'CFLAGS=-arch i386 -arch x86_64 -mmacosx-version-min=10.5' 'LDFLAGS=-arch i386 -arch x86_64 -mmacosx-version-min=10.5' CXXFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5" && make
112 $ make install DESTDIR=/tmp
114 The resulted library can be found in /tmp/opt/local/lib