[Mono-list] Some questions about shared assemlies, strong names...

Paolo Molaro lupus@ximian.com
Thu, 8 May 2003 17:37:10 +0200

On 05/09/03 Fergus Henderson wrote:
> In principle the name of the file on disk doesn't matter much, but the
> fact that the name of the file on disk matches the module name does
> matter -- breaking that invariant would require considerable changes to
> the Mercury build system.
> We can't just build gc.dll using the Mercury build system and then copy
> it to mercury-gcc.dll, because other dlls in the Mercury standard library
> will still refer to gc.dll.

Ok, if the change is hard to do and doesn't match with the Mercury view
of things it's ok, as I said I may not understand all the issues
involved. It looks like the .net module name needs to match the Mercury
module name and the CLR requires that the assembly file name to be the
assembly name + .dll. If this is right, you don't have much leeway for
changes. I wonder, though, what happens if you have a module named, say,
user32 (or something like any of the fundamental windows libraries):
won't that prevent windows from running any program if the current
working directory is where the Mercury modules are stored (just like
with mono.exe dynamically linked to gc.dll)? I guess this is a search
path issue of the windows loader that uses also the current directory,
so we're getting off-topic here...


lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better