Frontends:Xiphos/Windows
From CrossWire Bible Society
Revision as of 14:41, 6 December 2008 by Mwtalbert (talk | contribs) (→Setting up required libraries)
Contents
MinGW
MinGW is minimalist GNU for Windows.[1]
One lives in hope....
Setting up MinGW
A tutorial for how to set up a MinGW build environment.
- Install MinGW base system only
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780
- Install MSYS (Be sure to grab the current release installer, not the tech preview.)
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963
- Install msysDTK directly over msys (direct link to file)
http://downloads.sourceforge.net/mingw/msysDTK-1.0.1.exe?modtime=1041430674&big_mirror=1
- Install m4-1.4.7-MSYS into your msys /bin
http://downloads.sourceforge.net/mingw/m4-1.4.7-MSYS.tar.bz2?modtime=1162303978&big_mirror=1
- Install strawberry perl in default location
http://strawberryperl.com/
- Set the environment variable INTLTOOL_PERL=/path/to/strawberry/bin/perl by adding the following line to c:\msys\1.0\etc\profile:
export INTLTOOL_PERL=/c/strawberry/perl/bin/perl
Setting up required libraries
For all following instructions, when you run configure do it with --prefix=/mingw
- install gnome versions of utilities (direct links below)
- create a directory c:\msys\1.0\dev
- add it to your path (in profile)
- unpack everything there
- you need at this point:
- all these are from http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
pkg-config: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip gettext: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-0.14.5.zip gettext-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-dev-0.14.5.zip gettext-runtime: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip
- add this line to your profile
export PKG_CONFIG_PATH=/dev/lib/pkgconfig
- upgrade autoconf to 2.63 from source
http://ftp.gnu.org/gnu/autoconf/
- upgrade automake to 1.9 from source
http://ftp.gnu.org/gnu/automake/
- install libcurl
http://curl.haxx.se/download.html (direct linke) http://www.gknw.net/mirror/curl/win32/curl-7.19.0-devel-mingw32.zip find curl-config script from linux and copy it to /mingw/bin
- compile sword-1.5.11 from source
with libcurl is easier than ftplib you will have to manually alter makefile to link against regex
- download gnomesword 2.4.1
- download lots of gnome libs and unpack them in dev
for everything, you need the normal and developer package atk: http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip cairo: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.0-1_win32.zip cairo-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.0-1_win32.zip fontconfig: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig-2.4.2-tml-20071015.zip fontconfig-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig-dev-2.4.2-tml-20071015.zip freetype: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype-2.3.6.zip freetype-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype-dev-2.3.6.zip gail: http://ftp.gnome.org/pub/gnome/binaries/win32/gail/1.22/gail-1.22.0.zip gail-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/gail/1.22/gail-dev-1.22.0.zip gconf: http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-2.22.0.zip gconf-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev-2.22.0.zip glib: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.3-1_win32.zip glib-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.3-1_win32.zip gnome-common: http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-doc-utils: http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-doc-utils/0.12/gnome-doc-utils-0.12.0.zip gnome-vfs: http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-vfs/2.24/gnome-vfs_2.24.0-1_win32.zip gnome-vfs-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-vfs/2.24/gnome-vfs-dev_2.24.0-1_win32.zip gtk+: http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.5-1_win32.zip gtk+-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.5-1_win32.zip gtkhtml-3.18: http://ftp.gnome.org/pub/gnome/binaries/win32/gtkhtml/3.18/gtkhtml-3.18.2.zip gtkhtml-3.18-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/gtkhtml/3.18/gtkhtml-dev-3.18.2.zip intltool: http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip libart: http://ftp.gnome.org/pub/gnome/binaries/win32/libart_lgpl/2.3/libart_lgpl-2.3.20.zip libart-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/libart_lgpl/2.3/libart_lgpl-dev-2.3.20.zip libbonobo: http://ftp.gnome.org/pub/gnome/binaries/win32/libbonobo/2.24/libbonobo_2.24.0-1_win32.zip libbonobo-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/libbonobo/2.24/libbonobo-dev_2.24.0-1_win32.zip libbonoboui: http://ftp.gnome.org/pub/gnome/binaries/win32/libbonoboui/2.24/libbonoboui_2.24.0-1_win32.zip libbonoboui-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/libbonoboui/2.24/libbonoboui-dev_2.24.0-1_win32.zip libffi: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libffi_3.0.6-1_win32.zip libffi-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libffi-dev_3.0.6-1_win32.zip libglade: http://ftp.gnome.org/pub/gnome/binaries/win32/libglade/2.6/libglade_2.6.3-1_win32.zip libglade-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/libglade/2.6/libglade-dev_2.6.3-1_win32.zip libgnome: http://ftp.gnome.org/pub/gnome/binaries/win32/libgnome/2.24/libgnome_2.24.1-1_win32.zip libgnome-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/libgnome/2.24/libgnome-dev_2.24.1-1_win32.zip libgnomecanvas: http://ftp.gnome.org/pub/gnome/binaries/win32/libgnomecanvas/2.20/libgnomecanvas-2.20.1.zip libgnomecanvas-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/libgnomecanvas/2.20/libgnomecanvas-dev-2.20.1.zip libgnomeprint: http://ftp.gnome.org/pub/gnome/binaries/win32/libgnomeprint/2.12/libgnomeprint-2.12.1.zip libgnomeprint-dev: http://ftp.gnome.org/pub/gnome/binaries/win32/libgnomeprint/2.12/libgnomeprint-dev-2.12.1.zip
libgnomeprintui, libgnomeui, libiconv, libIDL, libpng, libxml2, ORBIT, popt, pthreads, zlib, pango For these 2, you only need the binaries: expat, gnurx
- setup xml2po
install python 2.5 ensure that python is on your path (windows environment variable) edit /dev/bin/xml2po shebang line to just say #! python install python libxml2 from here http://users.skynet.be/sbi/libxml-python/
- install iconv
You will need this version of iconv http://gnuwin32.sourceforge.net/packages/libiconv.htm.
- install gnome-icon-theme
You may need to rename share/icons/gnome/ to share/icons/hicolor. This theme is required by the studypad
- alter configure script to allow compilation without scrollkeeper
- update gnomesword to latest 2.4.x svn
- run configure with --enable-gtkhtml --disable-scrollkeeper --prefix=/mingw
- make
you will have to alter the makefile in libs to link against libcurl.dll (-lcurl doesn't work)
- make install
- run gnomesword
- getting gnomesword free from mingw is another topic.
- Windows XP look
To get the windows XP look, go to /dev/share/themes/MS-Windows/gtk-2.0 copy gtkrc to /dev/etc/gtk-2.0/gtkrc
Helpful links
- http://live.gnome.org/Planner/Windows
- http://www.go-evolution.org/Building_Evolution_on_Windows
- http://www.mingw.org/wiki/msys
Articles found so far
- http://live.gnome.org/Cross%20compiling%20GTK%2B%20for%20Win32
- http://www.gnome-db.org/GnomeDbMinGW (has good tutorial to set up MINGW compiling on windows
- http://www.daniweb.com/forums/thread86245.html (Order of commandline options for GCC is important)
Building of other GTK/Gnome projects
Other stuff
- http://linux.softpedia.com/get/Text-Editing-Processing/IDEs/MinGW-Developer-Studio-14939.shtml Allows compiling and cross compiling of GTK applications