]> sjero.net Git - linphone/blob - README.macos
Update README.macos
[linphone] / README.macos
1 **********************************
2 * Compiling linphone on macos X  *
3 **********************************
4
5 You need:
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.
9
10 - Install build time dependencies
11  $ sudo port install automake autoconf libtool intltool
12
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
20  
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
26  $ sudo make install
27
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
32  $ sudo make install
33
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
38  
39 - Install additional librairies required for wizard (linphone.org account creation assistant)
40  $ sudo port install libsoup
41  
42  ** WARNING 2013-03-06 glib-networking is currently broken in macports - generates crashes or hangs when used in a bundle **
43  As a temporary workaround, build a newer version by yourself:
44  $ wget http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.34/glib-networking-2.34.2.tar.xz
45  $ tar -xvzf glib-networking-2.34.2.tar.xz
46  $ cd glib-networking-2.34.2
47  $ ./configure --prefix=/opt/local && make 
48  $ sudo make install
49
50 - Compile and install the tunnel library (optional, proprietary extension only)
51
52  If you got the source code from git, run ./autogen.sh first
53
54  Then or otherwise, do:
55
56  $ ./configure --prefix=/opt/local && make && sudo make install
57
58
59 - Compile linphone
60
61  If you got the source code from git, run ./autogen.sh first.
62
63  Then or otherwise, do:
64         
65  $ ./configure --prefix=/opt/local --with-readline=/opt/local --disable-x11 --with-srtp=/opt/local --with-gsm=/opt/local --enable-zrtp && make
66
67  Install to /opt/local
68
69  $ sudo make install 
70
71  Done.
72
73 If you want to generate a portable bundle, then install gtk-mac-bundler.
74 Use git:
75  $ git clone https://github.com/jralls/gtk-mac-bundler.git 
76  $ cd gtk-mac-bundler && make install
77  $ export PATH=$PATH:~/.local/bin
78  #make this dummy charset.alias file for the bundler to be happy:
79  $ sudo touch touch /opt/local/lib/charset.alias
80
81 Then run, inside linphone source tree:
82  1. Run configure as told before but with "--enable-relativeprefix" appended.
83  
84  $ make
85  $ make bundle
86
87 The resulting bundle is located in linphone build directory, together with a zipped version.
88
89 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).
90
91  $ git clone https://github.com/jralls/gtk-quartz-engine.git
92  $ cd gtk-quartz-engine
93  $ autoreconf -i 
94  $ ./configure --prefix=/opt/local && make 
95  $ sudo make install
96
97 Generate a new bundle to have it included.
98
99