Git and Dll maps

Oct 22, 2013 at 12:43 AM
Hi,

Just wanted to ask some quick questions while working on this. First, is there any chance this could be moved to Git? Mercurial is a bit harder to send/use pull requests over.

Second, right now it seems there are two builds, a unix one and a windows one, and the pre-compilation symbols make it difficult to keep a single code base. I know mono has a special flag in the configuration file "Dllmap" (see http://www.mono-project.com/Interop_with_Native_Libraries) that can be used to perhaps map functions like GetFunctionAddress to the right address on the right machine. I am assuming this has been tried and failed, but if not, would be willing to see how it works.

-N
Developer
Oct 22, 2013 at 7:16 AM
There were recent discussions regarding codebase management. I'll let Kosei comment on this one.

Interesting link regarding DLLmap, which I lost sight of after an initial review years ago. I guess I am a guy that ends up touching on native interop by necessity rather than natural inclination :-)

I seems to remember that previous versions of R.NET had many more conditional compilation sections, so Kosei has looked at minimizing this.

Dllmap seems indeed a viable option to remove the remaining conditional compilation. The think I miss is how to deal with the differing EntryPoint arguments.
Coordinator
Oct 22, 2013 at 9:43 AM
Edited Oct 22, 2013 at 9:44 AM
Hi evolvedmicrobe,
is there any chance this could be moved to Git?
Yes, we're planing to move the project to GitHub (maybe within this year, not determined yet).
difficult to keep a single code base
You might find R.NET has two core assemblies, RDotNet.dll and RDotNet.NativeLibrary.dll. To tell the truth, the RDotNet.dll in Windows package and that in Unix package are identical assembly. So a single common code can behave almost same on Windows and Unix if you replace only RDotNet.NativeLibrary.dll.