Re: Fwd: Plans for GTK+ Bundles for win32 and win64?



If there is consent amongst the team and this is available, I can set up
the gtk.org pages for this.

There isn't consent. Some people are against the notion of having GTK+ be a "shared component" due to two main concerns (both addressable): 1. The myriad issues surrounding the choice of CRT to use: the system provided msvcrt.dll or the compiler-provided msvcrtXXX.dll. It is not possible to target msvcrt.dll using Visual Studio 2010 for example, you have to go all the way back to Visual Studio 2006, unless you use the DDK, which is a much more modern compiler. 2. The concern that if package A installs the shared component and package B comes along and also installs it, but it happens to be an earlier revisions, you may encounter problems.

Problem 1 is most easily solved by creating a custom compilation suite for building GTK itself using a mixture of Visual Studio 2010 and the DDK. As part of the work I am currently doing I am making a full set of step by step instructions on exactly how to do that.

Problem 2 is most easily solved by sensible naming of the DLL's, or as an alternative, linking statically. There is no mandate in the Windows world that we preserve libtool's insane version numbering for libraries. We can (and should) have more sensibly named libraries such as glib228.dll rather than glib2.dll, which covers WAY too broad a scope (just to pick on glib).

So that others do not duplicate the same work I am doing, here is what I am working towards: 1. A single source tree with all of the required components, from zlib on up, that can be built for either Win32 or Win64, either as a DLL or as a static library. 2. An easy-to-install runtime package that will contain all of the runtime components needed to run a complex GTK application.
3. An easy-to-install development environment for the above.

My ultimate goal is to try to make a "standard" distribution of all of these packages that many applications can link against. I am constructing things in such a way that an individual application can elect to either use a shared version of the packages, or, at their option, their own private copy if that makes more sense to their distribution model. All that is required is 1 line of code to set an environment variable at the very top of their application early in WinMain.

It would be my preference that this "distribution" be hosted on gtk.org but I have been crafting things under the assumption that this may be difficult or too slow, and I am making a "productized" version of the full suite that interested parties can either just download and use, or compile themselves.

For the sake of completeness here is the set of code that I build:
zlib 1.2.5
iconv 1.14
gettext-runtime (-lintl) 1.18.1.1
libpng 1.5.4
giflib 4.1.6
jpeg 8c
libxml2 2.7.8
libxslt 1.1.26
expat 2.0.1
freetype2 2.4.6
fontconfig 2.8.0
pixman 0.23.2
pcre 8.13
glib 2.28.8
cairo 1.10.2
pango 1.28.4
gdk-pixbuf 2.24.0
atk 2.0.1
gtk+ 3.0.12

I've recently updated some of those versions and I am still working through the full build, but its close.

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