On 17-Oct-2002, Daniel Morgan <[EMAIL PROTECTED]> wrote: > Can mono/mcs create and use static CIL libraries? > > If so, how do you create the static CIL libraries? > How do you link these static CIL libraries with something you are bulding? > > What about Microsoft .NET, Rotor, or Portable.Net?
Portable.Net has some support for that kind of thing, I believe. > If not, can we persuade the Mono team, the Microsoft .NET team, the Rotor > team, the Portable.Net team, the ECMA standards people, and others to > include standard static CIL libraries support in their C# compiler and CLR > runtime? Here is some of the feedback that we gave Microsoft about a closely related issue: | 3. Assembly resolution at static link time. | | .NET assumes a particular model of symbol resolution where the | decision of which assembly (the .NET unit of distribution) | each symbol belongs to is determined *at compile time*. | Mercury has a different model, where at compile time we only resolve | which *compilation unit* (which in Mercury are called "modules") | each symbol belongs to. Then at *static link time*, compilation | units are grouped into "libraries" (the Mercury unit of distribution). | Only then, at static link time rather than at compile time, | can it be determined which distribution unit (i.e. assembly) | each symbol reference refers to. | | The model that Mercury uses is more flexible. And of course this | model is not specific to Mercury; the same thing is supported by | traditional linkers for Unix and Windows. But it is not supported | by .NET. | | Currently if the assembly part of a symbol reference in a .NET | component is null, it is assumed to be in the current assembly. | But .NET should allow the assembly part of a symbol to be null, and | should provide a "static link" tool to resolve such null assembly | references. This tool should take as input an assembly, and a set of | other assemblies to link the first assembly against, and should output | a modified version of the first assembly in which any symbol reference | with null assembly part have had their assembly part filled in. The | assembly chosen should be the unique assembly among the set of | assemblies to link against which contains a symbol that matches the | symbol reference. If there is more than one such symbol, the tool | should instead issue an error message and not produce any output. -- Fergus Henderson <[EMAIL PROTECTED]> | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp. _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
