Subject: RE: glib-1.2.8?
From: "edward" <[email-masked]>
To: "Robert Collins" <[email-masked]>, "Julia A . Case" <[email-masked]>
Cc: "Cygwin" <[email-masked]>
Date: Wed, 6 Dec 2000 21:41:24 -0500

gmodule works for me.

ugh. with spelling errors and all from the cvs source :)

um. i did have to patch gmodule-dl.c and testgmodule.c

um. and gdate.c and gmarkup.c and gstrfuncs.c

and I did have to make tons of changes to the automake/libtool files to
get the dll to build correctly.

I haven't automated it just yet, but if you want the source patches...

WARNING. please EXAMINE this patch and run it bit by bit. Because

1) this is a patch against CVS source, and
2) though it passes all of the glib tests (both in gmodule and in tests,
once you fix the markup test), i'm not positive it works everywhere.
3) this is a patch against the CVS source. yea, it's important enough to
repeat.

cheers!

edward

$ cd /usr/gnome/src/gnome/glib/gmodule
$ cygcheck testgmodule.exe
Found: .\testgmodule.exe
.\testgmodule.exe
  E:\WINNT\System32\KERNEL32.dll
    E:\WINNT\System32\NTDLL.DLL
  .\libgmodule-1.3.dll
    E:\private\cygwin\bin\cygwin1.dll

Use -h to see help about each section

$ ./testgmodule
testgmodule (/usr/gnome/src/gnome/glib/gmodule):
get main module handle
check that not yet bound symbols in shared libraries of main module are
retrievable:
retrive symbol `g_module_close' from "main":
retrived symbol `g_module_close' as 0x67841a24
load plugin from
"/usr/gnome/src/gnome/glib/gmodule/.libs/libgplugin_a.dll"
load plugin from
"/usr/gnome/src/gnome/glib/gmodule/.libs/libgplugin_b.dll"
GPluginB: check-init
retrive symbol `gplugin_a_func' from "libgplugin_a.dll"
retrive symbol `gplugin_b_func' from "libgplugin_b.dll"
call plugin function(0x672c1018) A: GPluginA: Hello world
call plugin function(0x6f8c1080) B: GPluginB: Hello world
retrive symbol `g_clash_func' from "main"
retrive symbol `g_clash_func' from "libgplugin_a.dll"
retrive symbol `g_clash_func' from "libgplugin_b.dll"
call plugin function(0x672c1088) self: GPluginA: Hello global clash
call plugin function(0x672c1088) A: GPluginA: Hello global clash
call plugin function(0x6f8c10f0) B: GPluginB: Hello global clash
retrive symbol `gplugin_clash_func' from "main"
retrived function `gplugin_clash_func' from self: 0x672c1050
retrive symbol `gplugin_clash_func' from "libgplugin_a.dll"
retrive symbol `gplugin_clash_func' from "libgplugin_b.dll"
call plugin function(0x672c1050) A: GPluginA: Hello plugin clash
call plugin function(0x6f8c10b8) B: GPluginB: Hello plugin clash
retrive symbol `gplugin_a_module_func' from "libgplugin_a.dll"
call plugin A's module function(0x672c1164):
{
GPluginA: retrive symbol `gplugin_say_boo_func' from "libgplugin_b.dll"
GPluginA: call that function(0x6f8c111c): GPluginB: BOOH!
}
unload plugin A:
unload plugin B:
GPluginB: unloaded

-----Original Message-----
From: Robert Collins [mailto:[email-masked]]
Sent: Wednesday, December 06, 2000 7:30 PM
To: edward; Julia A . Case
Cc: Cygwin
Subject: Re: glib-1.2.8?

glib compiles ok but it is not fully functional

* gmodule fails its tests. This is important because nearly every plug-in
style component based on glib needs gmodule. (Basically a
wrapper for dlopen()). I posted some questions about this on this list
around 3-4 months ago... but I didn't (and still don't) have
the time to dig into dlopen and write test cases to show the fault.

* pthreads support (as per edwards and chris's emails). However my guess
is that building wiuth pthreads=none should result in the
wrapper code running everything single-threaded.

I'm happy to do a bit of collaboration on this if you're interested
edward.. I was working on gnome for xfree86/cygwin.

You'll also need to patch the libtool on all the gnome related packages to
support dll creation. (see a long list on that on this
list back in uhmmm august I think.

Rob

----- Original Message -----
From: "edward" <[email-masked]>
To: "Julia A . Case" <[email-masked]>
Cc: "Cygwin" <[email-masked]>
Sent: Thursday, December 07, 2000 7:54 AM
Subject: RE: glib-1.2.8?

> If I recall correctly, as of 2 weeks ago, both the cvs and official
> versions of glib compiled fine.
>
> make check fails one the markup test because the test invocation is
> incorrect, but you can run that one manually.
>
> PS. you'll have problem with the official gnome packages of bonobo and
> gconf, due to file names that differ only by case. The cvs versions have
> renamed those files.
>
> PPS. oaf, orbit and gnome-print require cygwin patches... I'll post
those
> once I make sure they actually work. they pass the test suite, but I
want
> to hold back until I can get the entire gnome package running.
>
> PPPS. gnome requires some libraries which must be at least re-entrant.
> that means recompiling the winsup cygwin module to export the *_r
> functions.
>
> Cheers.
> edward
>
> -----Original Message-----
> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of Julia A . Case
> Sent: Wednesday, December 06, 2000 3:25 PM
> To: [email-masked]
> Subject: glib-1.2.8?
>
>
> Has anyone been able to build glib-1.2.8 under cygwin?
>
> Julie
>
> --
> [  Julia Anne Case  ] [        Ships are safe inside the harbor,       ]
> [Programmer at large] [      but is that what ships are really for.    ]
> [   Admining Linux  ] [           To thine own self be true.           ]
> [ Windows/WindowsNT ] [ Fair is where you take your cows to be judged. ]
>
>
> --
> Want to unsubscribe from this list?
> Send a message to [email-masked]
>