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@xxxxxxxxxxx>
To: gtk-list@xxxxxxxxx
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
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list