mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-17 11:08:06 +00:00
189 lines
6.6 KiB
Text
189 lines
6.6 KiB
Text
Software to install
|
|
*******************
|
|
|
|
Download lastest mingw-get-inst.exe from http://www.mingw.org
|
|
Run mingw-get-inst.exe. Choose "download lastest catalogues".
|
|
In the feature list, select:
|
|
* C compiler
|
|
* C++ compiler
|
|
* Mingw developer toolkit
|
|
Let the installer fetch and install everything.
|
|
|
|
In mingw shell, run
|
|
|
|
mingw-get install msys-zip
|
|
mingw-get install msys-unzip
|
|
mingw-get install msys-wget
|
|
|
|
mkdir -p /opt/perl/bin
|
|
cp /bin/perl /opt/perl/bin/.
|
|
|
|
cd ~
|
|
#Download intltool
|
|
wget http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip
|
|
|
|
Download lastest linphone-deps-win32 zip from
|
|
http://download.savannah.gnu.org/releases-noredirect/linphone/misc
|
|
using your browser.
|
|
|
|
Download lastest gtk+2 win32 bundle from http://www.gtk.org
|
|
|
|
Install all these three package in /:
|
|
|
|
cd /
|
|
unzip ~/intltool_0.40.4-1_win32.zip
|
|
unzip <path to gtk bundle zip>
|
|
unzip <path to linphone-deps>
|
|
|
|
#Install GTK+ Outcrop theme, the one used by linphone for distribution.
|
|
cd /share/themes
|
|
wget http://art.gnome.org/download/themes/gtk2/1122/GTK2-Outcrop.tar.gz
|
|
tar -xvzf GTK2-Outcrop.tar.gz
|
|
|
|
#To get the translations working, remove from C:/MinGW/lib :
|
|
libintl.a libintl.la libintl.dll.a
|
|
|
|
* Download and install Inno Setup Compiler (required only if you run 'make setup.exe'). Add it to your windows Path environment variable.
|
|
|
|
Get Linphone source code
|
|
************************
|
|
|
|
Install msys-git from (http://code.google.com/p/msysgit/). During installation you are asked to make a choice about how line endings are treated by git.
|
|
Choose "Checkout line endings as they are, commit as they are". THIS CHOICE IS VERY IMPORTANT. OTHERS BREAK AUTOMAKE.
|
|
|
|
It is recommended that you create a directory somewhere with a path without any spaces or ~ characters, for example
|
|
c:\sources\
|
|
Within msys-git bash, do
|
|
cd /c/sources
|
|
git clone git://git.linphone.org/linphone.git --recursive
|
|
|
|
|
|
Building
|
|
********
|
|
|
|
WARNING: During the build, windows might slow down suddenly. Using ctl+alt+del to start the windows system monitor,
|
|
you might see a process 'LVpSRV.exe' or something like this that eats 90% of cpu.
|
|
Kill it. Don't know what it is, but once killed, windows runs normally.
|
|
|
|
#Compile and install tunnel (optional, available under proprietary licensing)
|
|
|
|
cd tunnel && ./autogen.sh && ./configure --prefix=/usr --enable-shared --disable-static && make && make install
|
|
|
|
#Build linphone itself:
|
|
#run autogen.sh after a git checkout or update
|
|
|
|
./autogen.sh
|
|
|
|
./configure --prefix=/opt/linphone --enable-shared --disable-static
|
|
#note: in order to use the tunnel, append --enable-tunnel to the configure line above.
|
|
|
|
#compile:
|
|
|
|
make
|
|
|
|
#now install to /opt/linphone, required for compilation of plugins.
|
|
|
|
make install
|
|
|
|
#make a binary zip of linphone
|
|
|
|
make zip
|
|
|
|
#additionally you can make binary installer if you have Inno Setup 5 installed in its default path
|
|
|
|
make setup.exe
|
|
|
|
#now you're done, you have a fresh linphone windows installer in the current directory.
|
|
|
|
|
|
|
|
#build plugins
|
|
cd mediastreamer2/plugins/msx264
|
|
./autogen.sh
|
|
PKG_CONFIG_PATH=/opt/linphone/lib/pkgconfig ./configure --prefix=/opt/linphone --enable-shared --disable-static
|
|
#make a binary zip of this plugin
|
|
make zip
|
|
#or make an installer
|
|
make setup.exe
|
|
|
|
#the buddylookup plugin enables lookup of buddies in a remote database using xml-rpc over http/https.
|
|
cd coreapi/plugins/buddylookup
|
|
./autogen.sh
|
|
PKG_CONFIG_PATH=/opt/linphone/lib/pkgconfig ./configure --prefix=/opt/linphone --enable-shared --disable-static
|
|
make
|
|
#make a binary zip of this plugin
|
|
make zip
|
|
|
|
|
|
******************************************************
|
|
* Notes about linphone-deps generation *
|
|
******************************************************
|
|
|
|
Linphone-deps is a collection of linphone dependencies, that are for some of them difficult
|
|
to find as windows binaries.
|
|
These notes are useful if you want to upgrade part of the software that is included in the
|
|
linphone-deps packages.
|
|
|
|
List of software included in linphone-deps:
|
|
libosip2 (compiled)
|
|
libeXosip2 (compiled)
|
|
libavcodec, libavutil, libavformat, libavdevice, libswscale (compiled, all these from ffmpeg)
|
|
libtheora (from the web)
|
|
libx264 (compiled from the version distributed from linphone's web site)
|
|
libogg (from the web)
|
|
libspeex, libspeexdsp (compiled, statically to workaround a dll-related crash)
|
|
libgnutls (from the web)
|
|
libgsm (from the web)
|
|
libxml2 (compiled)
|
|
libsoup (compiled)
|
|
|
|
Remarks:
|
|
For every package compiled that goes into linphone-deps, .la files (libtool files) must be removed to avoid libtool errors.
|
|
When running "make install DESTDIR=<somepath>", somepath must be absolute and should not contain any ~ or space.
|
|
|
|
- building ffmpeg
|
|
./configure --enable-shared --disable-static --enable-memalign-hack --extra-cflags="-fno-common" --enable-gpl && make
|
|
make install DESTDIR=/home/<myuser>/ffmpeg-install
|
|
Copy to ~/ffmpeg-install/usr/local/* to linphone-deps/.
|
|
Copy also all *.dll.a files from the build tree to lib/ directort of linphone-deps. These are the implibs necessary to link a program against the dlls.
|
|
|
|
- building libxml2: the binaries found on the internet are generated with MSVC++, and for obscure reason they are not suitable for building libsoup
|
|
(that requires libxml2).
|
|
./configure --enable-shared --disable-static && make && make install DESTDIR=/home/<myuser>/libxml2-install
|
|
copy ~/libxml2-install/usr/local/* into linphone-deps/.
|
|
|
|
- building x264:
|
|
|
|
* download yasm normal version windows executable from yasm project page:
|
|
http://www.tortall.net/projects/yasm/wiki/Download
|
|
copy it as /usr/local/bin/yasm.exe
|
|
|
|
cd into x264/ dir then run:
|
|
./configure --enable-pic
|
|
make
|
|
make install DESTDIR=/home/<myuser>/x264-install
|
|
then copy the content of ~/x264-install/usr/local/ into linphone-deps/.
|
|
|
|
- libgnutls (required for libsoup https support)
|
|
- download binary zip from http://josefsson.org/gnutls4win.org
|
|
- add to linphone-deps
|
|
|
|
- building libsoup (only required for buddylookup plugin)
|
|
- download source from gnome ftp (warning: at the time of the writing only version 2.26.x can compile with the
|
|
glib version supplied in the gtk-bundle, 2.27 requires a new version of glib)
|
|
- uncompress libgnutls zip in /
|
|
- make sure you have libxml2 installed in /
|
|
- apply a bugfix patch (fix gnutls support on windows, completely broken otherwise). The patch
|
|
is in linphone-deps/src, apply it this way:
|
|
cd libsoup-2.26.*
|
|
cd libsoup
|
|
patch -p0 < libsoup-gnutls-bugfix.patch
|
|
- run:
|
|
./configure --prefix=/usr --enable-shared --disable-static
|
|
make
|
|
make install
|
|
make install DESTDIR=/home/<myuser>/libsoup-install
|
|
- copy ~/libsoup-install/usr/* into linphone-deps/
|
|
|
|
Once you have everything in linphone-deps, remove .la files from lib:
|
|
cd lib && rm -f *.la
|