Difference between revisions of "Frontends:Xiphos/Windows"

From CrossWire Bible Society
Jump to: navigation, search
(==MinGW== (added to provide context for first time page visitors))
(Setting up MinGW)
Line 14: Line 14:
  
 
A tutorial for how to set up a MinGW build environment.
 
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
 +
      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
 +
      export INTLTOOL_PERL=/c/strawberry/perl/bin/perl
 +
      this is done in c:\msys\1.0\etc\profile
 +
=notice=
 +
      for all following instructions, when you run configure do it with --prefix=/mingw
 +
* install gnome versions of utilities
 +
      http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
 +
      create a directory c:\msys\1.0\dev
 +
      add it to your path (in profile)
 +
      unpack everything there
 +
      you need at this point, pkg-config, gettext, gettext-deve, gettext-runtime, gettext-runtime-dev
 +
* 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, cairo, fontconfig, freetype, gail, gconf, glib, gnome-common, gnome-doc-utils, gnome-vfs, goocanvas, gtk+, gtkhtml-3.18, intltool, libart, libbonobo, libbonoboui, libbzip, libffi, libglade, libgnome, libgnomecanvas, libgnome, libgnomeprint, libgnomeprintui, libgnomeui, libiconv, libIDL, libpng, libxml2, ORBIT, popt, pthreads, zlib
 +
* alter configure script to allow compilation without scrollkeeper
 +
* apply linux/windows diff
 +
      hopefully most will be unnecessary soon
 +
      mailed to gnomesword-developers
 +
* 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
  
Follow these instructions carefully [http://www.mingw.org/wiki/msys]
+
* getting gnomesword free from mingw is another topic.
  
Get these packages from [https://sourceforge.net/project/showfiles.php?group_id=204414 here]
 
# pkgconfig
 
# gettext
 
# glib2-2.18.2-1
 
  
Download Gnome binary packages from [http://ftp.gnome.org/pub/gnome/binaries/win32/ here]. Under gtk+ there is a bundle that has several you need. These get installed in c:\MinGW\
+
=helpful links=
  
and I'm currently stuck here. Running aclocal in the gnomesword directory appears to work, autoconf has an error
+
#http://live.gnome.org/Planner/Windows
      configure.in:48: error: possibly undefined macro: AC_PROG_INTLTOOL
+
#http://www.go-evolution.org/Building_Evolution_on_Windows
      If this token and others are legitimate, please use m4_pattern_allow.
+
#http://www.mingw.org/wiki/msys
      See the Autoconf documentation.
 
and automake says
 
      cannot open < gnome-doc-utils.make: No such file or directory
 
 
 
configure then gets confused on
 
    line 2622: syntax error near unexpected token 'GNOME'
 
    'PKG_CHECK_MODULES(GNOME, ' etc
 
so for some reason it isn't actually calling pkg-config
 
  
 
==Articles found so far==
 
==Articles found so far==

Revision as of 01:26, 21 November 2008

MinGW

MinGW is minimalist GNU for Windows.[1]

One lives in hope....

Needs

  1. building of relevant libaries
  2. building of GS itself


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
     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
     export INTLTOOL_PERL=/c/strawberry/perl/bin/perl
     this is done in c:\msys\1.0\etc\profile

notice

     for all following instructions, when you run configure do it with --prefix=/mingw
  • install gnome versions of utilities
     http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
     create a directory c:\msys\1.0\dev
     add it to your path (in profile)
     unpack everything there
     you need at this point, pkg-config, gettext, gettext-deve, gettext-runtime, gettext-runtime-dev
  • 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, cairo, fontconfig, freetype, gail, gconf, glib, gnome-common, gnome-doc-utils, gnome-vfs, goocanvas, gtk+, gtkhtml-3.18, intltool, libart, libbonobo, libbonoboui, libbzip, libffi, libglade, libgnome, libgnomecanvas, libgnome, libgnomeprint, libgnomeprintui, libgnomeui, libiconv, libIDL, libpng, libxml2, ORBIT, popt, pthreads, zlib
  • alter configure script to allow compilation without scrollkeeper
  • apply linux/windows diff
     hopefully most will be unnecessary soon
     mailed to gnomesword-developers
  • 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.


helpful links

  1. http://live.gnome.org/Planner/Windows
  2. http://www.go-evolution.org/Building_Evolution_on_Windows
  3. http://www.mingw.org/wiki/msys

Articles found so far

  1. http://live.gnome.org/Cross%20compiling%20GTK%2B%20for%20Win32
  2. http://www.gnome-db.org/GnomeDbMinGW (has good tutorial to set up MINGW compiling on windows
  3. http://www.daniweb.com/forums/thread86245.html (Order of commandline options for GCC is important)

Building of other GTK/Gnome projects

  1. https://develop.participatoryculture.org/trac/democracy/wiki/BuildingMiroWithMinGW

Other stuff

  1. http://linux.softpedia.com/get/Text-Editing-Processing/IDEs/MinGW-Developer-Studio-14939.shtml Allows compiling and cross compiling of GTK applications