]> sjero.net Git - linphone/commitdiff
fix and update windows mingw build
authorSimon Morlat <simon.morlat@linphone.org>
Thu, 6 Jan 2011 14:54:19 +0000 (15:54 +0100)
committerSimon Morlat <simon.morlat@linphone.org>
Thu, 6 Jan 2011 14:54:19 +0000 (15:54 +0100)
Makefile.am
README.mingw
autogen.sh
configure.ac
gen-gtkfilelist.sh
gtk+-2.22.1.filelist [new file with mode: 0644]
mediastreamer2
oRTP

index da3a8d7e3ca0ff7fe704f3f0c556b88e986f6220..48734ac5a9bbc94b6666dfa025fe5090c56abecc 100644 (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  \
index 9e9709b73708c3beeb41caf677628e97eb451d16..557a8e64203cc733b3bddbd72b0dd8d75f651b06 100644 (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.
-
-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 <file>
-
-* 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 <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
index f32cf85f3f9af53d77585f2f550f022fe10cf91f..19f91c6078e9c018845d799e37ababd399e5b99b 100755 (executable)
@@ -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
index 3d67cbabc6d25f1c8cdb07f90958a2a3d7590edd..8db4ab8a36d64614dab0a9e3a516d25f5f0ac102 100644 (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] )
 
index 1971e03af302d6aeb9ad9d78b9181a63112545e4..4036201bad535aab5d05f306cfcb04e69d1d92f1 100755 (executable)
@@ -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 (file)
index 0000000..792aeeb
--- /dev/null
@@ -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
index be95244fa80cc45841b119f9a853ddfdb7b11f01..82220afa1b04a9ba380c720d5e2bf83347d7404b 160000 (submodule)
@@ -1 +1 @@
-Subproject commit be95244fa80cc45841b119f9a853ddfdb7b11f01
+Subproject commit 82220afa1b04a9ba380c720d5e2bf83347d7404b
diff --git a/oRTP b/oRTP
index be584ae2b8a3c9a27d11d1463a68e314f2feffa3..d4c36bf268d696be0823ae3650aacc6d8b2f9dbd 160000 (submodule)
--- a/oRTP
+++ b/oRTP
@@ -1 +1 @@
-Subproject commit be584ae2b8a3c9a27d11d1463a68e314f2feffa3
+Subproject commit d4c36bf268d696be0823ae3650aacc6d8b2f9dbd