README.mingw 4.97 KB
Newer Older
1
Software to install
smorlat's avatar
smorlat committed
2 3
*******************

smorlat's avatar
smorlat committed
4
* mingw32 (choose candidate to have lastest binaries)
5
* msys
smorlat's avatar
smorlat committed
6

smorlat's avatar
smorlat committed
7
run msys as Administrator (right click on the icon, and click 'run as administrator'.
smorlat's avatar
smorlat committed
8 9 10

* 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
11
* gcc-part-core-4.3 gcc-part-c++-4.3, uncompress in /mingw
smorlat's avatar
smorlat committed
12 13
* download unzip from mingw downloads, uncompress in /mingw
* install zip from http://www.info-zip.org/Zip.html#Downloads
14 15 16
	(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


smorlat's avatar
smorlat committed
17 18 19 20 21 22 23 24 25 26 27
* 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


smorlat's avatar
smorlat committed
28 29 30 31 32 33 34 35
Get Linphone source code
************************

Install msys-git from (http://code.google.com/p/msysgit/)

git clone git://git.savannah.nongnu.org/linphone.git


36
Building
simorl's avatar
simorl committed
37
********
38

simorl's avatar
simorl committed
39 40 41
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.
42 43 44 45 46 47

#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
simorl's avatar
simorl committed
48
./configure --prefix=/opt/linphone --enable-shared --disable-static --with-osip=/usr/local --with-gsm=/usr/local
49
make
simorl's avatar
simorl committed
50 51 52 53
#will install to /opt/linphone, useful for compilation of plugins.
make install
#make a binary zip of linphone
make zip
simorl's avatar
simorl committed
54 55
#additionally you can make binary installer if you have Inno Setup 5 installed in its default path
make setup.exe
56 57 58 59

#build plugins
cd mediastreamer2/plugins/msx264
./autogen.sh
simorl's avatar
cleanup  
simorl committed
60
PKG_CONFIG_PATH=/opt/linphone/lib/pkgconfig ./configure --prefix=/opt/linphone --enable-shared --disable-static --enable-hacked-x264
simorl's avatar
simorl committed
61 62 63
make
#make a binary zip of this plugin
make zip
64

smorlat's avatar
smorlat committed
65
cd coreapi/plugins/buddylookup
66
./autogen.sh
simorl's avatar
simorl committed
67 68 69 70
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
71 72 73 74 75


******************************************************
*      Notes about linphone-deps generation          *
******************************************************
smorlat's avatar
smorlat committed
76 77 78 79 80 81

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.

82 83 84 85 86 87 88 89 90 91 92 93 94 95
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)


smorlat's avatar
smorlat committed
96 97
- building ffmpeg 
  ./configure --enable-shared --disable-static --enable-memalign-hack --extra-cflags="-fno-common" --enable-gpl && make
smorlat's avatar
smorlat committed
98 99
  make install DESTDIR=~/ffmpeg-install
  Copy to ~/ffmpeg-install/usr/local/* to linphone-deps/.
smorlat's avatar
smorlat committed
100 101 102 103
  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).
smorlat's avatar
smorlat committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
  ./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/.
124