GTK+ on windows



In the background of writing some software on top of GTK+ I have
started working on making my application build on windows rather than
just my opensuse-factory desktop.

Looking at the the information on gtk.org I thought to myself, maybe I
can just create a visual studio project file for the entirety of GTK
and have my little application sitting along side all the other
components.  This way, I can ensure binary compatibility and can take
advantage of all the dependency management and debugging facilities
included with visual studio and just maybe flowers will spring up on
the desert and all that.

I have had a reasonable amount of success, along with a reasonable
amount of pain.  Currently about 60% of the dependencies are building
and linking.

However this has got me thinking about what the nature of the
portability problem is here.  Lots of projects have released Windows
GTK binaries at one point or another, but I wouldn't trust that there
is a great deal of ABI compatibility between them.  Currently each
project maintains it's own build system on Windows some of which are
extremely painful and a massive wall to participation.  And all I am
doing with the work on my project is setting up "yet another gtk
distribution".

The amount of fragmentation around GTK on the windows platform is
pretty significant and building a GTK application for windows is not
for the faint of heart (Take a look at the build instructions for
gedit)

Although mingw produces working results, the process is complicated.
Statements like the one on gtk.org about the gnu compiler being an
appropriate toolchain are ill conceived not because there is anything
wrong with the toolchain itself, but rather because it's not native to
the platform.

In response to this and specifically to scratch my own itch I am
starting a new project called Nokomis (Ojibwa spirit who rebuilt the
world from a grain of sand).  Which, while not a fork of GTK will be a
Windows specific compilation of GTK using msbuild very much in the
same way that xenocara implements X for OpenBSD.

Nokomis will provide missing functionality such as asprintf, strlcpy,
strlcat and attempt to track upstream GTK releases.  The targeted
system compiler will initially be the visual C compiler built into the
upcoming Visual Studio 2010 (currently in beta) although any compiler
which can be tied into msbuild will be acceptable.

Basically I want to make GTK a first class citizen on Windows

-- 
Ted Bullock <tbullock comlore com>


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