From: Simon Morlat Date: Thu, 6 Jan 2011 14:54:19 +0000 (+0100) Subject: fix and update windows mingw build X-Git-Url: http://sjero.net/git/?p=linphone;a=commitdiff_plain;h=5411a2811f6dfd7172700a2efab205d8ffbb6638 fix and update windows mingw build --- diff --git a/Makefile.am b/Makefile.am index da3a8d7e..48734ac5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 \ diff --git a/README.mingw b/README.mingw index 9e9709b7..557a8e64 100644 --- a/README.mingw +++ b/README.mingw @@ -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. - -run msys as Administrator (right click on the icon, and click 'run as administrator') - -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 - -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 - -note: lzma files can be uncompressed using tar --lzma -xvf - -* 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 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 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'). - -* 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 +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+ win32 bundle from http://www.gtk.org + +Install all these three package in /: + +cd / +unzip ~/intltool_0.40.4-1_win32.zip +unzip +unzip + +#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 diff --git a/autogen.sh b/autogen.sh index f32cf85f..19f91c60 100755 --- a/autogen.sh +++ b/autogen.sh @@ -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 diff --git a/configure.ac b/configure.ac index 3d67cbab..8db4ab8a 100644 --- a/configure.ac +++ b/configure.ac @@ -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] ) diff --git a/gen-gtkfilelist.sh b/gen-gtkfilelist.sh index 1971e03a..4036201b 100755 --- a/gen-gtkfilelist.sh +++ b/gen-gtkfilelist.sh @@ -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 diff --git a/gtk+-2.22.1.filelist b/gtk+-2.22.1.filelist new file mode 100644 index 00000000..792aeeb0 --- /dev/null +++ b/gtk+-2.22.1.filelist @@ -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 diff --git a/mediastreamer2 b/mediastreamer2 index be95244f..82220afa 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit be95244fa80cc45841b119f9a853ddfdb7b11f01 +Subproject commit 82220afa1b04a9ba380c720d5e2bf83347d7404b diff --git a/oRTP b/oRTP index be584ae2..d4c36bf2 160000 --- a/oRTP +++ b/oRTP @@ -1 +1 @@ -Subproject commit be584ae2b8a3c9a27d11d1463a68e314f2feffa3 +Subproject commit d4c36bf268d696be0823ae3650aacc6d8b2f9dbd