[Mono-dev] mgnat.dll saga
Robert Jordan
robertj at gmx.net
Sun Nov 13 10:11:46 EST 2005
Laurent,
I just downloaded the package you're trying to port:
The dll is compiled as a module and linked together
with the IL to a dll. A bootstrap mgnat.dll seems
to be used:
$(CD) $(MGNAT_DIR)/lib; $(CP) $(ADALIB)/mgnat.dll .
$(CD) $(MGNAT_DIR)/lib; $(CSC) /debug /t:module /out:mgnatcs.netmodule
/R:mgnat.dll $(MGNAT_LIB_CS_SRCS)
al /target:lib /out:mgnatcs.dll /keyfile:$(DLL_DIR)/TestKey.snk
mgnatcs.netmodule
$(CP) mgnat.dll mgnatcs.dll mgnatcs.netmodule $(DLL_DIR)
Robert
> Robert, thanks again for your help.
>
> In the .il file that are used to build mgnat.dll I have plenty of
> references like:
>
> .assembly extern mgnatcs {
> ...
> }
>
> And in the .cs file that are used to build mgnatcs.dll there are things
> like:
>
> using system.task_primitives;
> namespace mgnat.adalib {
> ...
> }
>
> where system.task_primitives is in mgnat.dll
> .namespace system.task_primitives {
> ...}
>
> My understanding of the mgnat setup is that we want to have a "library"
> in the namespace "mgnat" built from *.il files (generated by the A#
> compiler from Ada library code) together with code from a small set of
> *.cs files (in C# to complete the library interface using C# library).
>
> It looks like on MS Windows/C# the setup is using two mutually
> dependant dlls and this works, but since this causes problem on mono,
> from my reading of the A# compiler code, it should be doable to make
> this only one dll instead of two if this helps.
>
> Is there a way say x.il and y.cs can be combined in one dll using mono
> tools?
>
> Thanks in advance,
>
> Laurent
More information about the Mono-devel-list
mailing list