RE: cross compiling gtk cairo clock example



Hi...

I'd like to update this process I documented in an
earlier post to use static libraries rather than dynamic
libraries when cross compiling a gtk/cairo application
to Windows.  Can anybody give me some pointers on
how to ammend this process to get a windows exe
with no dynamic dependencies on gtk/cairo (eg,
where, if anywhere, to find the necessary static
libraries, and different compiler flags, etc).  I'll post
procedure if/when I get it working.

Thanks...

           David


From: "David L" <idht4n hotmail com>
To: gtk-list gnome org
Subject: cross compiling gtk cairo clock example
Date: Sun, 10 Sep 2006 13:24:38 -0700

Hi...

I've written a script that downloads and intalls the current mingw
cross compiler and downloads and builds a simple gtk/cairo example
from http://gnomejournal.org/article/34 and I thought it would be useful
to readers of this list.  It seems to work on my fedora core 5 box and
generate a clock.exe file that I can run under wine (I don't have a
Windows system).  Before running it, I created a directory /opt/cross-tools
and made it writable.  I also installed the gcc32 compiler since
gcc4 seems to choke building older versions of binutils and gcc.
Below is the script for your reading pleasure.  If anybody sees
anything stupid that I've done, please respond.

#!/bin/bash
export CC=gcc32

mkdir /tmp/mingwtmp
cd /tmp/mingwtmp
wget http://www.libsdl.org/extras/win32/cross/build-cross.sh

#update script to "current" versions of gcc, mingw-runtime, binutils, and w32api
#also, force use of gcc32
#(fedora users can get this using "yum install compat-gcc-32.i386")
cat build-cross.sh | sed 's/\/usr\/local\/cross-tools/\/opt\/cross-tools/' | \
   sed 's/3.4.1-20040711-1/3.4.2-20040916-1/' | \
   sed 's/mingw-runtime-3.3/mingw-runtime-3.9/' | \
   sed 's/# where does it go?/export CC=gcc32/' | \
   sed 's/2.15.90-20040222-1/2.15.91-20040904-1/' | \
   sed 's/w32api-2.5/w32api-3.6/' > build-cross-new.sh

chmod u+x build-cross-new.sh
./build-cross-new.sh

mkdir /tmp/gtkwin32tmp
cd /tmp/gtkwin32tmp

wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/atk-1.10.3.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/atk-dev-1.10.3.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/cairo-1.2.4.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/cairo-dev-1.2.4.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/glib-2.8.6.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/glib-dev-2.8.6.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/gtk+-dev-2.8.20.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/pango-1.10.3.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/pango-dev-1.10.3.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/gtk+-2.8.20.zip


wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/fontconfig-2.2.2-20040412.zip wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/fontconfig-dev-2.2.2-20040412.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/freetype-2.1.10.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/gettext-0.14.5.tar.gz
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/gettext-0.14.5.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/gettext-dev-0.14.5.zip wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/libiconv-1.9.1.bin.woe32.zip wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/libiconv-1.9.1.tar.gz
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/libpng-1.2.8-bin.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/pkg-config-0.20.zip
wget ftp://ftp.gtk.org/pub/gtk/v2.8/win32/dependencies/zlib123-dll.zip

wget http://www.gnome.org/~davyd/gnome-journal-cairo-article/clock-ex3.c
wget http://www.gnome.org/~davyd/gnome-journal-cairo-article/clock.h
wget http://www.gnome.org/~davyd/gnome-journal-cairo-article/main.c


cd /opt/cross-tools/i386-mingw32msvc/
for i in /tmp/gtkwin32tmp/*.zip
do
unzip $i
done

#
for i in lib/pkgconfig/*.pc
do
cat $i |sed 's/prefix=c:.\+/prefix=\/opt\/cross-tools\/i386-mingw32msvc/' \
   > $i.tmp
/bin/mv $i.tmp $i
done


export PKG_CONFIG_PATH=/opt/cross-tools/i386-mingw32msvc/lib/pkgconfig

cd /tmp/gtkwin32tmp
/opt/cross-tools/bin/i386-mingw32msvc-gcc -o clock.exe \
   `pkg-config --cflags gtk+-2.0` clock-ex3.c main.c clock.h \
   `pkg-config --libs gtk+-2.0`


_________________________________________________________________
View Athlete?s Collections with Live Search http://sportmaps.live.com/index.html?source=hmemailtaglinenov06&FORM=MGAC01




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]