fix and update windows mingw build

This commit is contained in:
Simon Morlat 2011-01-06 15:54:19 +01:00
parent e8636c81a9
commit 5411a2811f
8 changed files with 210 additions and 75 deletions

View file

@ -50,14 +50,14 @@ SDK_EXCLUDED= \
GTK_PREFIX=/usr
GTK_THEME=Outcrop
GTK_FILELIST=gtk+-2.18.5.filelist
GTK_FILELIST=gtk+-2.22.1.filelist
GTK_FILELIST_PATH=$(shell cd $(top_srcdir) && pwd)/$(GTK_FILELIST)
LINPHONEDEPS_FILELIST=linphone-deps.filelist
WINBINDIST_FILES=$(shell cat $(top_srcdir)/$(LINPHONEDEPS_FILELIST))
ISS_SCRIPT=linphone.iss
ISS_SCRIPT_PATH=$(shell cd $(top_srcdir) && pwd)/$(ISS_SCRIPT)
#path to Inno Setup 5 compiler
ISCC=/c/Program\ Files/Inno\ Setup\ 5/ISCC.exe
ISCC=ISCC.exe
PACKAGE_WIN32_FILELIST=$(PACKAGE)-win32.filelist
EXTRA_DIST = config.rpath BUGS linphone.kdevelop \

View file

@ -1,61 +1,57 @@
Software to install
*******************
* mingw32, using Automated windows installer (when launched, choose candidate to have lastest binaries)
* msys, using windows installer too.
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.
run msys as Administrator (right click on the icon, and click 'run as administrator')
In mingw shell, run
Download zip and unzip (download setup.exe and run) from http://gnuwin32.sourceforge.net
- add them to your path in msys terminal:
export PATH=$PATH:/c/Program\ Files/GnuWin32/bin
mingw-get install msys-zip
mingw-get install msys-unzip
mingw-get install msys-wget
Download from mingw download page (http://www.mingw.org, click download):
- MSYS automake-1.11
- MSYS autoconf-2.63
- MSYS libtool>=2.2.7
- MSYS libcrypt*-bin
- MSYS perl
- MSYS gettext-*bin* and gettext-*dev*
===> Uncompress all these packages in /
- from gcc-4.4 directory
Download:
- gcc-core*-bin
- gcc-core-*-dll
- gcc-c++*-bin
- gcc-c++*-dll
- gmp*-dll
- mpfr*-dll
- w32api*-dev
- mingwrt-dev and mingwrt-dll (mingw run time)
- gnu binutils 2.19
===> Uncompress all these packages in /mingw
mkdir -p /opt/perl/bin
cp /bin/perl /opt/perl/bin/.
note: lzma files can be uncompressed using tar --lzma -xvf <file>
cd ~
#Download intltool
wget http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip
* Download intltool (quicklink:
http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip
note: -dev package is not needed.)
uncompress in / with 'unzip' command.
Download lastest linphone-deps-win32 zip from
http://download.savannah.gnu.org/releases-noredirect/linphone/misc
using your browser.
* Download lastest gtk+bundle from http://www.gtk.org , uncompress in /
* Download 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.4-1_win32.zip
http://ftp.gnome.org/pub/GNOME/binaries/win32/libglade/2.6/libglade_2.6.4-1_win32.zip
uncompress in /
* Download ActiveState perl and run the installer with default options (http://www.activestate.com , developer tools)
Yes it is required despite MSYS perl is already installed.
Download lastest gtk+ win32 bundle from http://www.gtk.org
* Download lastest linphone-deps from linphone downloads, misc directory:
http://download.savannah.gnu.org/releases-noredirect/linphone/misc/)
uncompress in /
* Download and install Inno Setup Compiler in its default path (required only if you run 'make setup.exe').
Install all these three package in /:
* HACKS:
Move out /lib/libintl.la : it confuses libtool
mv /lib/libintl.la /lib/libintl.la.bak
Move out libstdc++.la in order to workaround a gcc-4.4.0 bug (or packaging bug):
mv /mingw/lib/gcc/mingw32/4.4.0/libstdc++.la /mingw/lib/gcc/mingw32/4.4.0/libstdc++.la.bak
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
#Remove the special stdint.h and inttypes.h included in linphone-deps: it is for MSVC only.
#Mingw will use the one in /mingw/include
rm /include/stdint.h /include/inttypes.h
#Remove libgcc specific libraries, only needed for MSVC:
rm /lib/libgcc.a /lib/libmingw32.a /lib/libmingwex.a
#Remove libintl from gtk, we don't need it and it conflicts with the one supplied by mingw.
rm /lib/libintl.dll.a
rm /include/intl.h
* 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
************************
@ -66,7 +62,7 @@ It is recommended that you create a directory somewhere with a path without any
c:\sources\
Within msys-git bash, do
cd /c/sources
git clone git://git.savannah.nongnu.org/linphone.git
git clone git://git.savannah.nongnu.org/linphone.git --recursive
Building
@ -76,17 +72,6 @@ WARNING: During the build, windows might slow down suddenly. Using ctl+alt+del t
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.
The following variables must be exported:
#use ActiveState perl instead of mingw perl
export PERL="/c/Perl/bin/perl"
export INTLTOOL_PERL="/c/Perl/bin/perl"
#add gnuwin32 tools to your path:
export PATH=$PATH:/c/Program\ Files/Gnuwin32/bin
for convenience the 'mingw-envsetup.sh' script in linphone sources does this, so you can just source it:
. ./mingw-envsetup.sh
#run autogen.sh after a git checkout or update
./autogen.sh
./configure --prefix=/opt/linphone --enable-shared --disable-static
@ -97,6 +82,7 @@ make install
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

View file

@ -20,6 +20,10 @@ if test -d /opt/local/share/aclocal ; then
ACLOCAL_ARGS="-I /opt/local/share/aclocal"
fi
if test -d /share/aclocal ; then
ACLOCAL_ARGS="$ACLOCAL_ARGS -I /share/aclocal"
fi
if test -f /opt/local/bin/intltoolize ; then
#darwin
INTLTOOLIZE=/opt/local/bin/intltoolize

View file

@ -95,25 +95,19 @@ AC_SUBST(ALL_LINGUAS)
AC_DEFINE_UNQUOTED(LINPHONE_ALL_LANGS, "$ALL_LINGUAS", [All supported languages])
if test "$mingw_found" != "yes" ; then
dnl gettext macro does not work properly under mingw.
dnl gettext macro does not work properly under mingw. And we want to use the one provided by GTK.
AM_GNU_GETTEXT([external])
LIBS="$LIBS $LIBINTL"
else
if test "$mingwce_found" != "yes" ; then
AC_DEFINE(ENABLE_NLS,1,[Tells whether localisation is possible])
AC_DEFINE(HAVE_GETTEXT,1,[Tells wheter localisation is possible])
LIBS="$LIBS -L/usr/lib -lintl"
else
dnl gettext macro does not work properly under mingw.
AM_GNU_GETTEXT([external])
LIBS="$LIBS $LIBINTL"
fi
AC_DEFINE(ENABLE_NLS,1,[Tells whether localisation is possible])
AC_DEFINE(HAVE_GETTEXT,1,[Tells wheter localisation is possible])
LIBS="$LIBS -lintl"
fi
GETTEXT_PACKAGE=linphone
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",[The name of the gettext package name])
AC_CHECK_LIB(intl,libintl_gettext)
dnl AC_CHECK_LIB(intl,libintl_gettext)
AC_CHECK_FUNCS([get_current_dir_name strndup stpcpy] )

View file

@ -4,7 +4,6 @@
# It must be run within a gtk+ binary bundle tree, such as in the zip bundle
# downloadable from www.gtk.org
echo bin
echo bin/libglade-2.0-0.dll
find bin -name *.dll
find lib/gtk-2.0
find etc

152
gtk+-2.22.1.filelist Normal file
View file

@ -0,0 +1,152 @@
bin
bin/freetype6.dll
bin/intl.dll
bin/libasprintf-0.dll
bin/libatk-1.0-0.dll
bin/libcairo-2.dll
bin/libcairo-gobject-2.dll
bin/libcairo-script-interpreter-2.dll
bin/libexpat-1.dll
bin/libfontconfig-1.dll
bin/libgailutil-18.dll
bin/libgcc_s_dw2-1.dll
bin/libgdk-win32-2.0-0.dll
bin/libgdk_pixbuf-2.0-0.dll
bin/libgio-2.0-0.dll
bin/libglib-2.0-0.dll
bin/libgmodule-2.0-0.dll
bin/libgobject-2.0-0.dll
bin/libgthread-2.0-0.dll
bin/libgtk-win32-2.0-0.dll
bin/libpango-1.0-0.dll
bin/libpangocairo-1.0-0.dll
bin/libpangoft2-1.0-0.dll
bin/libpangowin32-1.0-0.dll
bin/libpng14-14.dll
bin/zlib1.dll
lib/gtk-2.0
lib/gtk-2.0/2.10.0
lib/gtk-2.0/2.10.0/engines
lib/gtk-2.0/2.10.0/engines/libpixmap.dll
lib/gtk-2.0/2.10.0/engines/libwimp.dll
lib/gtk-2.0/include
lib/gtk-2.0/include/gdkconfig.h
lib/gtk-2.0/modules
lib/gtk-2.0/modules/libgail.dll
etc
etc/fonts
etc/fonts/fonts.conf
etc/fonts/fonts.dtd
etc/gtk-2.0
etc/gtk-2.0/gtk.immodules
etc/gtk-2.0/im-multipress.conf
etc/pango
etc/pango/pango.modules
share/locale/fr
share/locale/fr/LC_MESSAGES
share/locale/fr/LC_MESSAGES/atk10.mo
share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo
share/locale/fr/LC_MESSAGES/gettext-runtime.mo
share/locale/fr/LC_MESSAGES/glib20.mo
share/locale/fr/LC_MESSAGES/gtk20-properties.mo
share/locale/fr/LC_MESSAGES/gtk20.mo
share/locale/de
share/locale/de/LC_MESSAGES
share/locale/de/LC_MESSAGES/atk10.mo
share/locale/de/LC_MESSAGES/gdk-pixbuf.mo
share/locale/de/LC_MESSAGES/gettext-runtime.mo
share/locale/de/LC_MESSAGES/glib20.mo
share/locale/de/LC_MESSAGES/gtk20-properties.mo
share/locale/de/LC_MESSAGES/gtk20.mo
share/locale/sv
share/locale/sv/LC_MESSAGES
share/locale/sv/LC_MESSAGES/atk10.mo
share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo
share/locale/sv/LC_MESSAGES/gettext-runtime.mo
share/locale/sv/LC_MESSAGES/glib20.mo
share/locale/sv/LC_MESSAGES/gtk20-properties.mo
share/locale/sv/LC_MESSAGES/gtk20.mo
share/locale/cs
share/locale/cs/LC_MESSAGES
share/locale/cs/LC_MESSAGES/atk10.mo
share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo
share/locale/cs/LC_MESSAGES/gettext-runtime.mo
share/locale/cs/LC_MESSAGES/glib20.mo
share/locale/cs/LC_MESSAGES/gtk20-properties.mo
share/locale/cs/LC_MESSAGES/gtk20.mo
share/locale/es
share/locale/es/LC_MESSAGES
share/locale/es/LC_MESSAGES/atk10.mo
share/locale/es/LC_MESSAGES/gdk-pixbuf.mo
share/locale/es/LC_MESSAGES/gettext-runtime.mo
share/locale/es/LC_MESSAGES/glib20.mo
share/locale/es/LC_MESSAGES/gtk20-properties.mo
share/locale/es/LC_MESSAGES/gtk20.mo
share/locale/hu
share/locale/hu/LC_MESSAGES
share/locale/hu/LC_MESSAGES/atk10.mo
share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo
share/locale/hu/LC_MESSAGES/glib20.mo
share/locale/hu/LC_MESSAGES/gtk20-properties.mo
share/locale/hu/LC_MESSAGES/gtk20.mo
share/locale/it
share/locale/it/LC_MESSAGES
share/locale/it/LC_MESSAGES/atk10.mo
share/locale/it/LC_MESSAGES/gdk-pixbuf.mo
share/locale/it/LC_MESSAGES/gettext-runtime.mo
share/locale/it/LC_MESSAGES/glib20.mo
share/locale/it/LC_MESSAGES/gtk20-properties.mo
share/locale/it/LC_MESSAGES/gtk20.mo
share/locale/ja
share/locale/ja/LC_MESSAGES
share/locale/ja/LC_MESSAGES/atk10.mo
share/locale/ja/LC_MESSAGES/gdk-pixbuf.mo
share/locale/ja/LC_MESSAGES/gettext-runtime.mo
share/locale/ja/LC_MESSAGES/glib20.mo
share/locale/ja/LC_MESSAGES/gtk20-properties.mo
share/locale/ja/LC_MESSAGES/gtk20.mo
share/locale/nl
share/locale/nl/LC_MESSAGES
share/locale/nl/LC_MESSAGES/atk10.mo
share/locale/nl/LC_MESSAGES/gdk-pixbuf.mo
share/locale/nl/LC_MESSAGES/gettext-runtime.mo
share/locale/nl/LC_MESSAGES/glib20.mo
share/locale/nl/LC_MESSAGES/gtk20-properties.mo
share/locale/nl/LC_MESSAGES/gtk20.mo
share/locale/pl
share/locale/pl/LC_MESSAGES
share/locale/pl/LC_MESSAGES/atk10.mo
share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo
share/locale/pl/LC_MESSAGES/gettext-runtime.mo
share/locale/pl/LC_MESSAGES/glib20.mo
share/locale/pl/LC_MESSAGES/gtk20-properties.mo
share/locale/pl/LC_MESSAGES/gtk20.mo
share/locale/ru
share/locale/ru/LC_MESSAGES
share/locale/ru/LC_MESSAGES/atk10.mo
share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo
share/locale/ru/LC_MESSAGES/gettext-runtime.mo
share/locale/ru/LC_MESSAGES/glib20.mo
share/locale/ru/LC_MESSAGES/gtk20-properties.mo
share/locale/ru/LC_MESSAGES/gtk20.mo
share/locale/pt_BR
share/locale/pt_BR/LC_MESSAGES
share/locale/pt_BR/LC_MESSAGES/atk10.mo
share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo
share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo
share/locale/pt_BR/LC_MESSAGES/glib20.mo
share/locale/pt_BR/LC_MESSAGES/gtk20-properties.mo
share/locale/pt_BR/LC_MESSAGES/gtk20.mo
share/themes
share/themes/Default
share/themes/Default/gtk-2.0-key
share/themes/Default/gtk-2.0-key/gtkrc
share/themes/Emacs
share/themes/Emacs/gtk-2.0-key
share/themes/Emacs/gtk-2.0-key/gtkrc
share/themes/MS-Windows
share/themes/MS-Windows/gtk-2.0
share/themes/MS-Windows/gtk-2.0/gtkrc
share/themes/Raleigh
share/themes/Raleigh/gtk-2.0
share/themes/Raleigh/gtk-2.0/gtkrc

@ -1 +1 @@
Subproject commit be95244fa80cc45841b119f9a853ddfdb7b11f01
Subproject commit 82220afa1b04a9ba380c720d5e2bf83347d7404b

2
oRTP

@ -1 +1 @@
Subproject commit be584ae2b8a3c9a27d11d1463a68e314f2feffa3
Subproject commit d4c36bf268d696be0823ae3650aacc6d8b2f9dbd