Re: glib(win32) without libffi



At 29.07.2012 13:38, Colin Walters wrote:
On Sat, 2012-07-28 at 11:55 +0200, Hans Breuer wrote:
One of the showstoppers for the win32/msvc build of GLib since 2.29 is the
dependency to libffi, which barely builds with msvc. In fact I was not able
to produce any working version with/for msvc6 (finally clashing runtime
versions).

Someone has *had* to have done this before.Did you try asking on the libffi list or anything?

Yes, anything, e.g.:
https://mail.gnome.org/archives/gtk-devel-list/2011-August/msg00014.html

But I can build it, too. I'm just not able to produce an ABI compatible version of GLib with msvc. Like I did for the last eleven years [1].

Are there any objections to include the new fallback implementation with
standard GLib?

It's a lot of code duplication in a *very* tricky code base.  See
https://bugzilla.gnome.org/show_bug.cgi?id=659881 for example.

Your code in a quick inspection looks like it only handles x86-32
Yes, that's what I tested.

Windows; what about Win64?
For win64 this would be only of educational interest, because there is no msvc compiler targeting msvcrt.dll (outside of some platfrom SDKs).

And it'd also need work for Windows/ARM, etc.
Wont check before I can buy interesting hardware for winrt ;)
My guess is there will be much more showstoppers, though.

Please - try harder to get libffi to build?

As I said, I can build libffi with msvc(9). And if I would drop the msvc6 build (pure msvcrt.dll dependency) I could even link it.

Given that fixing the showstopper is not deemed to be useful, I should probably withhold my other fixes as well:

d152bc4 win32: More symbols to be exported from gio
2cd230c win32: Update msvc build files
47adfd1 win32: Use HAVE_UNISTD_H for gio/tests too.
95381dc gccism: put variable declaration at the beginning of a block
a8706ac win32: work around msvc compiler deficiency
ab3dfc0 c99ism: avoid variadic macro COLLECT
d0f00b9 win32: avoid windows.h in glib-init.h
cd38dcf win32: define _WIN32_WINNT for TryEnterCriticalSection
4a42751 win32: Use HAVE_UNISTD_H
f0c38ed win32: Fallback implementation for Interlocked(And|Or|Xor)
5420ec4 win32: HW_PROFILE_INFOA needs _WIN32_WINNT 0x0501 defined
f5eee7e win32: don't use G_DEFINE_TYPE_WITH_CODE without code
46e74a7 win32: Updated msvc build files
ab494ba win32: Update msvc infrastructure for gdk-pixbuf split and cairo-gobject
0a1f33c g99ism: move declaration to the beginning of the block

Regards,
	Hans

[1] http://git.gnome.org/browse/glib/commit/?id=d1a05f990e35d83e20f62b303fe14d836f779921

-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert


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