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



On 08/09/11 09:45, Kean Johnston wrote:
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

Yea, forgive me, I have not had to worry about that since my last experience was when only MS Visual Studio 6 was around so only msvcrt.dll. I hear the problem is much worse these days but I didn't know there was a choice.

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.

What do you mean by "target" here? When I was last using GTK+ on Windows, I just wrote the app in emacs and built it in MinGW/MSYS, so I don't know how things fare these days in Visual Studio. I did use VS at some point, but even then the run time dll wasn't an issue.

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.

Isn't that just about where it's installed and apps making sure paths are set up properly?

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.

Sounds great! :)

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).

Couldn't agree more. Why aren't they named nicely anyway?

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.

Fantastic.

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.

That standard distribution is what should be on gtk.org for developers of course. That's another part of what I would love to see there.

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.

If you have a gnome.org git account you can update the website. Currently I am (with the exception of Javier Jardon who does a great job kicking the site into shame when I let things slip) the only one updating it. The module is gtk-web.

I welcome you to create a branch with the web changes you want to make and ask me for review. I even have a test server for checking the look/feel of new stuff first and for review on this list. The server is:

  http://curlybeast.net:8080/

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.

Thanks for the details!

--
Regards,
Martyn

Founder and CEO of Lanedo GmbH.


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