]> sjero.net Git - linphone/blobdiff - README.macos
Aac-eld add missing header according to RFC3640 3.3.6
[linphone] / README.macos
index e9440307e7a00fbcc5e590d18686df90940d2b40..dd39c2f6e866db181b7ccca97e3df6f6913d0fe8 100644 (file)
 * Compiling linphone on macos X  *
 **********************************
 
+You need:
+ - Xcode (download from apple or using appstore application)
+ - Macports: http://www.macports.org/
+   Download and install macports using its user friendly installer.
 
-You have two options: using gtk-osx framework (http://gtk-osx.sourceforge.net/) which results in a Linphone GTK well integrated into Mac OS
-environment. The other option is using MacPort, in which case Linphone will run as an X11 application inside Mac OS.
-
-At the date of March 25, 2011, no video support is available yet.
-
-
-Compiling using gtk-osx
-=======================
-
-Requirements:
-* gtk-osx framework
-* xcode (for gcc)
-* macport (to retrieve dependencies easily, such as libosip2, libeXosip2, libspeex
-* linphone git tree
-
-Steps:
-
-- Install gtk-osx jhbuild environment as described at
-http://sourceforge.net/apps/trac/gtk-osx/wiki/Build
-It will build gtk for osx as well as many dependencies.
-
-- Install ige-mac-bundler following instructions here (git clone method is preferred):
-http://sourceforge.net/apps/trac/gtk-osx/wiki/Bundle
+- Install build time dependencies
+ $ sudo port install automake autoconf libtool intltool
 
 - Install some linphone dependencies with macports
- $ port install speex-dev
- $ port install osip2
- $ port install eXosip2
-
-- Install libSDL and ffmpeg from their official git or hg repositories. At this date (2011/05/09) the macports version are too old and buggy.
+ $ sudo port install speex
+ $ sudo port install libosip2 # WARNING: currently outdated in macport
+ $ sudo port install libeXosip2 #WARNING: currently outdated in macport
+ $ sudo port install ffmpeg-devel -gpl2
+ $ sudo port install libvpx
+ $ sudo port install readline
+- Install srtp (optional) for call encryption
+ $ sudo port install srtp
+ If that fails, get from source:
+ $ git clone git://git.linphone.org/srtp.git
+ $ cd srtp && autoconf && ./configure --prefix=/opt/local && make libsrtp.a
+ $ sudo make install
+
+- Install zrtpcpp (optional), for unbreakable call encryption
+ $ sudo port install cmake
+ $ git clone git://git.linphone.org/zrtpcpp.git
+ $ cd zrtpcpp && cmake -Denable-ccrtp=false . && make
+ $ sudo make install
+
+- Install gtk. It is recommended to use the quartz backend for better integration.
+ $ sudo port install gtk2 +quartz +no_x11
+ $ sudo port install gtk-osx-application -python27
+ $ sudo port install hicolor-icon-theme
+- Install additional librairies required for wizard (linphone.org account creation assistant)
+ $ sudo port install libsoup
+ - Install sqlite3 for message storage
+ $ sudo port install sqlite3
+ ** WARNING 2013-03-06 glib-networking is currently broken in macports - generates crashes or hangs when used in a bundle **
+ As a temporary workaround, build a newer version by yourself:
+ $ wget http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.34/glib-networking-2.34.2.tar.xz
+ $ tar -xvzf glib-networking-2.34.2.tar.xz
+ $ cd glib-networking-2.34.2
+ $ ./configure --prefix=/opt/local --without-ca-certificates && make 
+ $ sudo make install
+
+- Compile and install the tunnel library (optional, proprietary extension only)
+
+ If you got the source code from git, run ./autogen.sh first
+
+ Then or otherwise, do:
+
+ $ ./configure --prefix=/opt/local && make && sudo make install
+
+
+- Compile linphone
+
+ If you got the source code from git, run ./autogen.sh first.
+
+ Then or otherwise, do:
+       
+ $ ./configure --prefix=/opt/local --with-readline=/opt/local --disable-x11 --with-srtp=/opt/local --with-gsm=/opt/local --enable-zrtp && make
 
-- Now you can compile linphone
+ Install to /opt/local
 
-$ jhbuild shell
-$ PKG_CONFIG_PATH=$HOME/gtk/inst/lib/pkgconfig:/opt/local/lib/pkgconfig/ ./configure --disable-static --disable-strict --with-gsm=/opt/local --disable-x11
-#assuming you have gsm installed in /opt/local. However gsm is optional.
-$ make
+ $ sudo make install 
 
-- You can generate a bundle using
-$ make bundle
+ Done.
 
-The bundle is generated in ~/Desktop/Linphone and can safely be exported to other places and computers.
+If you want to generate a portable bundle, then install gtk-mac-bundler.
+Use git:
+ $ git clone https://github.com/jralls/gtk-mac-bundler.git 
+ $ cd gtk-mac-bundler && make install
+ $ export PATH=$PATH:~/.local/bin
+ #make this dummy charset.alias file for the bundler to be happy:
+ $ sudo touch touch /opt/local/lib/charset.alias
 
+Then run, inside linphone source tree:
+ 1. Run configure as told before but with "--enable-relativeprefix" appended.
+ $ make
+ $ make bundle
 
-Compiling using MacPort
-=======================
+The resulting bundle is located in linphone build directory, together with a zipped version.
 
-This procedure works for audio, video still not fully supported.
-It was tested on macos X (leopard) on september 2009.
+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).
 
-Requirements:
-* xcode (for gcc)
-* macport (GNU porting project)
-* svn or git checkout'd linphone tree.
+ $ git clone https://github.com/jralls/gtk-quartz-engine.git
+ $ cd gtk-quartz-engine
+ $ autoreconf -i 
+ $ ./configure --prefix=/opt/local && make 
+ $ sudo make install
 
-Steps:
-* install with the 'port install' command the following dependencies
-       - automake
-       - autoconf
-       - libtool
-       - gettext
-       - intltool
-       - gtk2
-       - speex-dev
-       - osip2
-       - eXosip2
-       
-* add /opt/local/bin to your PATH by editing (or creating) ~/.profile, logout and login again for changes to take effect
+Generate a new bundle to have it included.
 
-* within linphone source directory, run ./autogen.sh
-* run 
-       ./configure --prefix=/opt/local --disable-video --with-readline=none && make
-       (note: we disable readline for linphonec because it appears to hang at this time)
-* install to /opt/local
-       sudo make install 
+libiconv hack 
+*************
 
+The Makefile.am rules used to generate the bundle fetch a libiconv.2.dylib from a linphone download page.
+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.
+In case this library needs to generated, here are the commands:
+ $ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
+ $ cd libiconv-1.14
+ $ patch -p1 < ../linphone/build/macos/libiconv-macos.patch
+ $ ./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
+ $ make install DESTDIR=/tmp
 
+The resulted library can be found in /tmp/opt/local/lib