X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=man%2Fmono-config.5;h=a8e31f3ed3356515a970d082eb42bb5537a13e2f;hb=47cd88f0f81b8da3a19a664fab00925c0c40f6c2;hp=1229a104b21cb6debc2083272f85d4b8b3ae204c;hpb=7ff8f29ff29fa3f08ef305ac43ef079097323286;p=mono.git diff --git a/man/mono-config.5 b/man/mono-config.5 index 1229a104b21..a8e31f3ed33 100644 --- a/man/mono-config.5 +++ b/man/mono-config.5 @@ -5,7 +5,7 @@ .\" Miguel de Icaza (miguel@gnu.org) .\" Paolo Molaro (lupus@ximian.com) .\" -.TH Mono "Mono 1.0" +.TH Mono "mono-config" .SH NAME mono-config \- Mono runtime file format configuration .SH DESCRIPTION @@ -14,7 +14,8 @@ installation prefix /etc/mono/config file, the ~/.mono/config or from the file pointed by the MONO_CONFIG environment variable. .PP For each assembly loaded a config file with the name: -/path/to/the/assembly.exe.config is loaded, too. +/path/to/the/assembly.exe.config is loaded as well as the +~/.mono/assemblies/ASSEMBLY/ASSEMBLY.EXT.config file. .PP This file controls the behavior of the runtime. .PP @@ -23,6 +24,10 @@ contained inside a .B section (It actually uses GMarkup to parse the file). +.PP +This page describes the Unix-specific and Mono-specific extensions to +the configuration file; For complete details, see the +http://www.mono-project.com/Config web page. .SH directive You use the dllmap directive to map shared libraries referenced by P/Invoke in your assemblies to a different shared library. @@ -33,7 +38,9 @@ The element takes two attributes: .TP .I dll -This should be the same string used in the DllImport attribute +This should be the same string used in the DllImport attribute, optionally +prefixed with "i:" to indicate that the string must be matched in a +case-insensitive way .TP .I target This should be the name of the library where the function can be found: @@ -53,20 +60,58 @@ element takes 3 attributes: This is the target library, where the function can be found. .TP .I name -This is the name of the fuction as it appears in the metadata: it is the name +This is the name of the function as it appears in the metadata: it is the name of the P/Invoke method. .TP .I target This is the name of the function to lookup instead of the name specified in the P/Invoke method. +.SH Mapping based on operating system and cpu +Both the +.B dllmap +and the +.B dllentry +elements allow the following two attributes which make it easy to use a single +configuration file and support multiple operating systems and architectures with +different mapping requirements: +.TP +.I os +This is the name of the operating system for which the mapping should be applied. +Allowed values are: linux, osx, solaris, freebsd, openbsd, netbsd, windows, aix, hpux. +.TP +.I cpu +This is the name of the architecture for which the mapping should be applied. +Allowed values are: x86, x86-64, sparc, ppc, s390, s390x, arm, mips, +alpha, hppa, ia64. +.TP +.I wordsize +This is the size of registers on the target architecture, it can be +either 32 or 64. +.PP +The attribute value for both attributes can be a comma-separated list of the allowed +values. Additionally, the first character may be a +.I '!' +to reverse the meaning. An attribute value of "!windows,osx", for example, would mean +that the entry is considered on all operating systems, except on Windows and OS X. +No spaces are allowed in any part of the value. +.PP +Note that later entries will override the entries defined earlier in the file. .SH EXAMPLES The following example maps references to the `cygwin1.dll' shared library to the `libc.so.6' file. .nf - + .fi +The library name in the DllImport attribute is allowed to be in any +case variant, like the following examples: +.nf +.nf + [DllImport ("cygwin1.dll")] + [DllImport ("Cygwin1.dll")] + [DllImport ("cygwiN1.Dll")] +.fi .PP This one maps the following C# method: .nf @@ -76,11 +121,15 @@ This one maps the following C# method: to .B differentfunction in -.B libdifferent.so. +.B libdifferent.so +, but to the same function in the library +.B libanother.so +when running under the Solaris and FreeBSD operating systems. .nf + .fi