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

Paolo Molaro lupus@ximian.com
Tue, 6 May 2003 15:10:05 +0200

On 05/05/03 Fergus Henderson wrote:
> > Since the gc.dll in mercury should be just an helper dll, I suggest
> > renaming it to mercury-gc.dll or something like that: I think this is a
> > good idea regardless of the name clash issues.
> That's easier said than done.  The Mercury build system compiles each
> Mercury module "foo" (in source file "foo.m") to "foo.dll".  The file
> "gc.dll" comes from the Mercury standard library module named "gc".
> It's not possible to rename that module, because that would break
> compatibility with existing Mercury programs that refer to the module
> by the name "gc" in their source code.

Well, I guess the mercury code either loads the module using a method
provided by your mercury implementation or it is linked in automatically
by the compiler. In boh cases the name of the file on disk shold not
matter much, right? Or does the mercury code do something like:
	some_loader_function ("gc.dll")
If I remember correctly gc.dll was a module of the main mercury runtime
assembly and it was loaded through a type/method reference: I can't see
nothing in that process that requires the module to be named gc.dll, but
maybe I'm missing something.

On 05/05/03 Fergus Henderson wrote:
> > Yes, though they solve the issue for *assemblies*, program names clashes
> > are not addressed by strong names... So we need to educate developers to
> > use sensible names for their programs anyway.
> By "program names", do you mean "names of *.exe files",
> or do you mean "names referred to in program source code"?

program names as the names of the files that contain the executables
that the user runs from a shell. There is also the separate problem of
programs embedding the name of programs to run (especially when the
original program is written to work on a system that requires a special
extension for file names and has a case insensitive file system...:-).


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