Re: working version of GTK for win64
- From: Oleg Tchij <otchij newman bas-net by>
- To: "Tor Lillqvist" <tml iki fi>
- Cc: gtk-devel-list gnome org
- Subject: Re: working version of GTK for win64
- Date: Thu, 24 Jul 2008 15:12:37 +0300
On Wednesday 23 July 2008 12:50:46 Tor Lillqvist wrote:
> (Sorry for replying a bit late.)
>
> > I've tried to build and run gtk for 64-bit Windows. At last I can upload
> > working version for usage:
>
> Great! I hope people who are interested will try them out. (Personally
> I don't have any machine running 64-bit Windows, unfortunately.)
>
> > http://rapidshare.com/files/130142295/gtk-2.12.9-win64-devel.zip.html
> > http://rapidshare.com/files/130142294/gtk-2.12.9-win64-src.tar.bz2.html
> >
> > For build I've use cross-compile mode for mingw compiler:
>
> Nice.
>
> > with CFLAGS="-s -O2 -mms-bitfields".
>
> Is the -mms-bitfields flag still needed for Win64? I am a bit
> disappointed in that case, why can't they simply make it the default?
> Presumably for Win32 it was noticed only when gcc had been available
> for a while that there are differences in struct packing compared to
> the "official" ABI, and they then introduced that switch (which
> actually first was named -fnative-struct). But as gcc for Win64 is a
> relatively recent development, why not be struct packing compatible
> with MSVC from the beginning?
>
I've used -mms-bitfields setting as analog for win32 build instructions.
Without this switch everything works also whenever the same setting (!) used
for libraries and applications build (otherwise not !), but I am not sure
about MSVC compatibility in this case. It should be checked.
> > $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
> >
> > to
> > $EGREP -e 'file format pe-(.*architecture: i386)?' >/dev/null ; then
>
> Hmm, this needs to be filed in upstream libtool, I guess. Will take a
> while before such a patch, if accepted, then trickles down into actual
> tarballs, of course. So that is then something one must take care of
> as part of the build process, add to one's build scripts.
>
> > and in glib/gmain.h for polling:
> >
> > #ifdef G_OS_WIN32
> > void* fd;
> > #else
> > gint fd;
> > #endif
>
> Hmm, GLib already has:
>
> #if defined (G_OS_WIN32) && GLIB_SIZEOF_VOID_P == 8
> gint64 fd;
> #else
> gint fd;
> #endif
>
> isn't that enough?
If latter on we used fd as an HANDLE in WIN API calls, then above
declarations is correct and works for win32 and win64.
>
> > 3) for all Windows API calls in gtk/gdk/win32 use new declarations:
> > SetWindowLongPtr instead of SetWindowLong, GWLP_HWNDPARENT for
> > GWL_HWNDPARENT and so on.
>
> Could you produce a proper patch, and file a bug and attach the patch
> please?
For MS Windows build we should clarify about usage of new calls, because the
are no SetWindowLongPtr and GWLP_HWNDPARENT declarations for MSVC version 6.
So if we confirm that gtk should be on win64, then use mingw or MSVC version
7 (2003), 8 (2005) and 9 (2008). Current patch works only for above
compilers.
>
> > From my point of view it will be very useful to
> > incorporate code changes or some cleanups which work with win32 and win64
> > versions of gtk and we'll continue to use gtk libraries in more areas and
> > applications.
>
> Yep. I will work on integrating the necessary changes into trunk in SVN.
>
> --tml
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]