After more discussion on IRC this it was decided to do this using the dllmap and not an environment variable.
If the target is set to "." the declaring assembly directory will be used when attempting to locate the un-manged library. -bill 2009-06-03 Bill Holmes <billholme...@gmail.com> * loader.c (mono_lookup_pinvoke_call): If the dllmap target is equal to . the declaring assembly path will be used to find the shared library first. Code is contributed under MIT/X11 license. On Mon, Jun 1, 2009 at 12:41 PM, Bill Holmes <billholme...@gmail.com> wrote: > Hi, > > The attached patch was discussed on IRC last week. We found that > MS.Net uses the directory of the declaring assembly when searching for > shared libraries to invoke unmanaged code. > > The outcome of the conversation was that we did not want the behavior > by default in Mono. However an environment variable could control > this behavior. > > Whit this patch setting MONO_PINVOKE_SEARCH to USE_ASSEMBLY_PATH will > enable this. > > -bill > > 2009-06-01 Bill Holmes <billholme...@gmail.com> > > * loader.c (mono_loader_init): Check for and process > the MONO_PINVOKE_SEARCH environment variable. > > * loader.c (mono_lookup_pinvoke_call): If MONO_PINVOKE_SEARCH > is set to USE_ASSEMBLY_PATH, add the declaring assembly > directory to resolve shared libraries. > > Code is contributed under MIT/X11 license. >
mono_pinvoke_search.patch
Description: Binary data
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list