Don't add Date header in ASP.NET. Fixes bug #363404.
[mono.git] / man / mono.1
index 05907853bd8853fe45976100da9f931c035bf4c4..e0eea5b9cdb6e9a76c261d2505c4805badf5fb8f 100644 (file)
@@ -88,6 +88,11 @@ code sharing across multiple mono processes and avoid just-in-time
 compilation program startup costs.  The original assembly must still
 be present, as the metadata is contained there.
 .Sp
+AOT code typically can not be moved from one computer to another
+(CPU-specific optimizations that are detected at runtime) so you
+should not try to move the pre-generated assemblies or package the
+pre-generated assemblies for deployment.    
+.Sp
 For more information about AOT, see: http://www.mono-project.com/AOT
 .TP
 .I "--config filename"
@@ -110,6 +115,10 @@ MODE is a comma separated list of optimizations.  They also allow
 optimizations to be turned off by prefixing the optimization name with
 a minus sign.
 .Sp
+In general, Mono has been tuned to use the default set of flags,
+before using these flags for a deployment setting, you might want to
+actually measure the benefits of using them.    
+.Sp
 The following optimizations are implemented:
 .nf
              all        Turn on all optimizations
@@ -121,18 +130,19 @@ The following optimizations are implemented:
              copyprop   Copy propagation
              deadce     Dead code elimination
              linears    Linear scan global reg allocation
-             cmov       Conditional moves
+             cmov       Conditional moves [arch-dependency]
              shared     Emit per-domain code
              sched      Instruction scheduling
              intrins    Intrinsic method implementations
              tailc      Tail recursion and tail calls
              loop       Loop related optimizations
-             fcmov      Fast x86 FP compares
+             fcmov      Fast x86 FP compares [arch-dependency]
              leaf       Leaf procedures optimizations
              aot        Usage of Ahead Of Time compiled code
              precomp    Precompile all methods before executing Main
              abcrem     Array bound checks removal
              ssapre     SSA based Partial Redundancy Elimination
+             sse2       SSE2 instructions on x86 [arch-dependency]
 .fi
 .Sp
 For example, to enable all the optimization but dead code
@@ -140,6 +150,11 @@ elimination and inlining, you can use:
 .nf
        -O=all,-deadce,-inline
 .fi
+.Sp
+The flags that are flagged with [arch-dependency] indicate that the
+given option if used in combination with Ahead of Time compilation
+(--aot flag) would produce pre-compiled code that will depend on the
+current CPU and might not be safely moved to another computer. 
 .TP
 .I "--runtime=VERSION"
 Mono supports different runtime versions. The version used depends on the program
@@ -152,18 +167,36 @@ running a 1.1 program on a 2.0 version:
          mono --runtime=v2.0.50727 program.exe
 .fi
 .TP
-.I "--security"
-Activate the security manager (experimental feature in 1.1). This allows 
-mono to support declarative security attributes (e.g. execution of, CAS 
-or non-CAS, security demands). The security manager is OFF by default 
-(experimental).
+.I "--security", "--security=mode"
+Activate the security manager, a currently experimental feature in
+Mono and it is OFF by default.  
+.RS
+.ne 8
+.PP
+Using security without parameters is equivalent as calling it with the
+"cas" parameter.  
+.PP
+The following modes are supported:
+.TP
+.I cas
+This allows mono to support declarative security attributes,
+e.g. execution of Code Access Security (CAS) or non-CAS demands.
+.TP 
+.I core-clr
+Enables the core-clr security system, typically used for
+Moonlight/Silverlight applications.  It provides a much simpler
+security system than CAS, see http://www.mono-project.com/Moonlight
+for more details and links to the descriptions of this new system. 
+.ne
+.RE
 .TP
 .I "--server"
 Configures the virtual machine to be better suited for server
-operations.  
+operations (currently, a no-op).
 .TP
 .I "-V", "--version"
-Prints JIT version information.
+Prints JIT version information (system configuration, release number
+and branch names if available). 
 
 
 .SH DEVELOPMENT OPTIONS
@@ -579,6 +612,12 @@ assemblies on demand and store the result into a cache in
 If set, this variable overrides the default system configuration directory
 ($PREFIX/etc). It's used to locate machine.config file.
 .TP
+.I "MONO_COM"
+Sets the style of COM interop.  If the value of this variable is "MS"
+Mono will use string marhsalling routines from the liboleaut32 for the
+BSTR type library, any other values will use the mono-builtin BSTR
+string marshalling.
+.TP
 .I "MONO_CONFIG"
 If set, this variable overrides the default runtime configuration file
 ($PREFIX/etc/mono/config). The --config command line options overrides the
@@ -727,6 +766,10 @@ managed implementation (slow). If unset, mono will try to use FAM under
 Unix systems and native API calls on Windows, falling back to the
 managed implementation on error.
 .TP
+.I "MONO_NO_SMP"
+If set causes the mono process to be bound to a single processor. This may be
+useful when debugging or working around race conditions.
+.TP
 .I "MONO_PATH"
 Provides a search path to the runtime where to look for library
 files.   This is a tool convenient for debugging applications, but
@@ -786,6 +829,16 @@ home directories that might be shared over the network.
 If set, extra checks are made during IO operations.  Currently, this
 includes only advisory locks around file writes.
 .TP
+.I "MONO_DISABLE_SHM"
+If set, disables the shared memory files used for cross-process
+handles: process have only private handles.  This means that process
+and thread handles are not available to other processes, and named
+mutexes, named events and named semaphores are not visible between
+processes.
+.Sp
+This is can also be enabled by default by passing the
+"--disable-shared-handles" option to configure.
+.TP
 .I "MONO_THEME"
 The name of the theme to be used by Windows.Forms.   Available themes today
 include "clearlooks", "nice" and "win32".
@@ -817,6 +870,16 @@ the a custom serializer will be produced on the 50th use.
 Set this value to 1 to prevent the serializer from removing the
 temporary files that are created for fast serialization;  This might
 be useful when debugging.
+.TP
+.I "MONO_ASPNET_INHIBIT_SETTINGSMAP"
+Mono contains a feature which allows modifying settings in the .config files shipped
+with Mono by using config section mappers. The mappers and the mapping rules are
+defined in the $prefix/etc/mono/2.0/settings.map file and, optionally, in the
+settings.map file found in the top-level directory of your ASP.NET application.
+Both files are read by System.Web on application startup, if they are found at the
+above locations. If you don't want the mapping to be performed you can set this
+variable in your environment before starting the application and no action will
+be taken.
 .SH ENVIRONMENT VARIABLES FOR DEBUGGING
 .TP
 .I "MONO_ASPNET_NODELETE"
@@ -874,6 +937,14 @@ with the X11 backend.  This is used to debug problems in Windows.Forms
 as it forces all of the commands send to X11 server to be done
 synchronously.   The default mode of operation is asynchronous which
 makes it hard to isolate the root of certain problems.
+.TP
+.I "MONO_GENERIC_SHARING"
+This environment variable is completely unsupported, don't use it.
+This controls for which classes to enable generic code sharing in
+principle.  Permissible values are "all", "corlib" and "none".  The
+default is "corlib", meaning that sharing can only happen for corlib
+classes.  Note that to enable generation of shared code the "gshared"
+compiler option has to be set as well.
 .SH VALGRIND
 If you want to use Valgrind, you will find the file `mono.supp'
 useful, it contains the suppressions for the GC which trigger