[xbuild] Update man page to add "/tv:" option.
[mono.git] / README
diff --git a/README b/README
index 72168dab356e2301adc406295263864b3ab6e626..fcf01c3fca52ae5e0d4adc4cddcc784ee5d959dc 100644 (file)
--- a/README
+++ b/README
@@ -172,11 +172,20 @@ This is Mono.
        The following are the configuration options that someone
        building Mono might want to use:
        
+       --with-sgen=yes,no
+
+               Generational GC support: Used to enable or disable the
+               compilation of a Mono runtime with the SGen garbage collector.
+
+               On platforms that support it, after building Mono, you
+               will have both a mono binary and a mono-sgen binary.
+               Mono uses Boehm, while mono-sgen uses the Simple
+               Generational GC.
 
        --with-gc=[boehm, included, sgen, none]
 
-               Selects the garbage collector engine to use, the
-               default is the "included" value.
+               Selects the default Boehm garbage collector engine to
+               use, the default is the "included" value.
        
                included: 
                        This is the default value, and its
@@ -192,10 +201,6 @@ This is Mono.
                        Boehm GC, but we do not recommend that people
                        use this, as it disables a few features.
 
-               sgen:
-                       The under-development Generational GC for
-                       Mono, do not use this in production.
-
                none:
                        Disables the inclusion of a garbage
                        collector.  
@@ -259,6 +264,17 @@ This is Mono.
 
                This value is set to `no' by default.
 
+       --enable-small-config=yes,no
+
+               Enable some tweaks to reduce memory usage and disk footprint at
+               the expense of some capabilities. Typically this means that the
+               number of threads that can be created is limited (256), that the
+               maxmimum heap size is also reduced (256 MB) and other such limitations
+               that still make mono useful, but more suitable to embedded devices
+               (like mobile phones).
+
+               This value is set to `no' by default.
+
        --with-ikvm-native=yes,no
 
                Controls whether the IKVM JNI interface library is
@@ -267,10 +283,12 @@ This is Mono.
 
                This defaults to `yes'.
 
-       --with-preview=yes,no
+       --with-profile4=yes,no
+
+               Whether you want to build the 4.x profile libraries
+               and runtime.
 
-               Whether you want to build libraries that are still not
-               completed (The 2.0 APIs).   It defaults to `yes'.
+               It defaults to `yes'.
 
        --with-moonlight=yes,no
 
@@ -279,12 +297,10 @@ This is Mono.
                (1.1 and 2.0 APIs).
 
                This will produce the `smcs' compiler which will reference
-               the Silvelright modified assemblies (mscorlib.dll,
+               the Silverlight modified assemblies (mscorlib.dll,
                System.dll, System.Code.dll and System.Xml.Core.dll) and turn
                on the LINQ extensions for the compiler.
 
-               This option defaults to `no' and it is considered pre-alpha.
-
        --with-libgdiplus=installed,sibling,<path>
 
                This is used to configure where should Mono look for
@@ -324,6 +340,11 @@ This is Mono.
                        Disables support for the Ahead of Time
                        compilation.
 
+               attach:
+                       Support for the Mono.Management assembly and the
+                       VMAttach API (allowing code to be injected into
+                       a target VM)
+
                com:
                        Disables COM support.
 
@@ -333,6 +354,12 @@ This is Mono.
                decimal:
                        Disables support for System.Decimal.
 
+               full_messages:
+                       By default Mono comes with a full table
+                       of messages for error codes.   This feature
+                       turns off uncommon error messages and reduces
+                       the runtime size.
+
                generics:
                        Generics support.  Disabling this will not
                        allow Mono to run any 2.0 libraries or
@@ -355,6 +382,11 @@ This is Mono.
                        disabling this will drop support for any
                        libraries using DllImport.
 
+               portability:
+                       Removes support for MONO_IOMAP, the environment
+                       variables for simplifying porting applications that 
+                       are case-insensitive and that mix the Unix and Windows path separators.
+
                profiler:
                        Disables support for the default profiler.
 
@@ -366,6 +398,11 @@ This is Mono.
                        assemblies (AssemblyBuilderAccess.Save) in
                        System.Reflection.Emit.
 
+               shadow_copy:
+                       Disables support for AppDomain's shadow copies
+                       (you can disable this if you do not plan on 
+                       using appdomains).
+
                simd:
                        Disables support for the Mono.SIMD intrinsics
                        library.
@@ -375,6 +412,24 @@ This is Mono.
                        framework, and the various SSA-based
                        optimizations.
 
+       --enable-llvm
+       --enable-loadedllvm
+
+               This enables the use of LLVM as a code generation engine
+               for Mono.  The LLVM code generator and optimizer will be 
+               used instead of Mono's built-in code generator for both
+               Just in Time and Ahead of Time compilations.
+
+               See the http://www.mono-project.com/Mono_LLVM for the 
+               full details and up-to-date information on this feature.
+
+               You will need to have an LLVM built that Mono can link
+               against,
+
+               The --enable-loadedllvm variant will make the llvm backend
+               into a runtime-loadable module instead of linking it directly
+               into the main mono binary.
+
        --enable-big-arrays
 
                This enables the use arrays whose indexes are larger
@@ -418,6 +473,15 @@ This is Mono.
                There are a number of runtime options to control this
                also, see the man page.
 
+       --enable-nacl
+
+               This configures the Mono compiler to generate code
+               suitable to be used by Google's Native Client:
+
+                        http://code.google.com/p/nativeclient/
+
+               Currently this is used with Mono's AOT engine as
+               Native Client does not support JIT engines yet.
 
 2. Using Mono
 =============
@@ -501,3 +565,6 @@ This is Mono.
                independent checkout) from the Mono module, that
                directory is automatically configured to share the
                same prefix than this module gets.
+
+
+