linphone-iphone/linphone/README.mingw
smorlat 9abe4acb6c enrich README.mingw
git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@547 3f6dc0c8-ddfe-455d-9043-3cd528dc4637
2009-07-22 20:30:34 +00:00

124 lines
5 KiB
Text

Software to install
*******************
* mingw32 (choose candidate to have lastest binaries)
* msys
run msys as Administrator (right click on the icon, and click 'run as administrator'.
* automake*/autoconf*/libtool/perl from msys suplementary tools, uncompress in /
* intltool (quicklink: http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip) uncompress in /usr/local
* gcc-part-core-4.3 gcc-part-c++-4.3, uncompress in /mingw
* download unzip from mingw downloads, uncompress in /mingw
* install zip from http://www.info-zip.org/Zip.html#Downloads
(quicklink: ftp://ftp.dante.de/tex-archive/tools/zip/info-zip/WIN32/zip232xN.zip), and extract zip.exe to c:\msys\1.0\usr\local\bin
* gtk+bundle from http://www.gtk.org , uncompress in /usr/local
* libglade and libglade-dev >=2.6.3 from gnome ftp:
http://ftp.gnome.org/pub/GNOME/binaries/win32/libglade/2.6/libglade-dev_2.6.3-1_win32.zip
http://ftp.gnome.org/pub/GNOME/binaries/win32/libglade/2.6/libglade_2.6.3-1_win32.zip
uncompress in /usr/local
* download ActiveState perl and run the installer with default options.
* download lastest linphone-deps from linphone downloads, misc directory:
http://download.savannah.gnu.org/releases-noredirect/linphone/misc/)
uncompress in /usr/local
Get Linphone source code
************************
Install msys-git from (http://code.google.com/p/msysgit/)
git clone git://git.savannah.nongnu.org/linphone.git
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.
#use ActiveState perl instead of mingw perl
export PERL="/c/Perl/bin/perl"
export INTLTOOL_PERL="/c/Perl/bin/perl"
#run autogen.sh after a git/svn checkout or update
./autogen.sh
./configure --prefix=/opt/linphone --enable-shared --disable-static --with-osip=/usr/local --with-gsm=/usr/local
make
#will install to /opt/linphone, useful 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
#build plugins
cd mediastreamer2/plugins/msx264
./autogen.sh
PKG_CONFIG_PATH=/opt/linphone/lib/pkgconfig ./configure --prefix=/opt/linphone --enable-shared --disable-static --enable-hacked-x264
make
#make a binary zip of this plugin
make zip
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)
- building ffmpeg
./configure --enable-shared --disable-static --enable-memalign-hack --extra-cflags="-fno-common" --enable-gpl && make
make install DESTDIR=~/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=~/libxml2-install
copy ~/libxml2-install/usr/local/* into linphone-deps/.
- building x264:
* Download lastest snapshot the linphone fork of x264 from
http://download.savannah.gnu.org/releases/linphone/plugins/sources/
This fork just brings the H264 Nalu size control feature, necessary to make video packet that fits into the network mtu.
It will be no longer necessary as soon as x264 official project will accept this patch or a similar one.
* 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
uncompress the x264 tarball
cd into x264/ dir then run:
./configure --enable-pic
make
make install DESTDIR=~/x264-install
then copy the content of ~/x264-install/usr/local/ into linphone-deps/.