Fix the build
[mono.git] / README
diff --git a/README b/README
index 02f4bde7a83f345fb4f1f311f2b6fdaa738e1ec5..abb0314418806d7682a0784db26f217583822888 100644 (file)
--- a/README
+++ b/README
@@ -67,6 +67,14 @@ This is Mono.
                ./autogen.sh --prefix=/usr/local
                make
 
                ./autogen.sh --prefix=/usr/local
                make
 
+       The Mono build system is silent for most compilation commands.
+       To enable a more verbose compile (for example, to pinpoint
+       problems in your makefiles or your system) pass the V=1 flag to make, like this:
+
+                make V=1
+
+
+
     c. Building the software from SVN
     ---------------------------------
 
     c. Building the software from SVN
     ---------------------------------
 
@@ -251,6 +259,17 @@ This is Mono.
 
                This value is set to `no' by default.
 
 
                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
        --with-ikvm-native=yes,no
 
                Controls whether the IKVM JNI interface library is
@@ -259,10 +278,12 @@ This is Mono.
 
                This defaults to `yes'.
 
 
                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
 
 
        --with-moonlight=yes,no
 
@@ -271,12 +292,10 @@ This is Mono.
                (1.1 and 2.0 APIs).
 
                This will produce the `smcs' compiler which will reference
                (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.
 
                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
        --with-libgdiplus=installed,sibling,<path>
 
                This is used to configure where should Mono look for
@@ -316,42 +335,91 @@ This is Mono.
                        Disables support for the Ahead of Time
                        compilation.
 
                        Disables support for the Ahead of Time
                        compilation.
 
-               profiler:
-                       Disables support for the default profiler.
+               attach:
+                       Support for the Mono.Management assembly and the
+                       VMAttach API (allowing code to be injected into
+                       a target VM)
+
+               com:
+                       Disables COM support.
+
+               debug:
+                       Drop debugging support.
 
                decimal:
                        Disables support for System.Decimal.
 
 
                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
+                       code that contains generics.
+
+               jit:
+                       Removes the JIT engine from the build, this reduces
+                       the executable size, and requires that all code
+                       executed by the virtual machine be compiled with
+                       Full AOT before execution.
+
+               large_code:
+                       Disables support for large assemblies.
+
+               logging:
+                       Disables support for debug logging.
+
                pinvoke:
                        Support for Platform Invocation services,
                        disabling this will drop support for any
                        libraries using DllImport.
 
                pinvoke:
                        Support for Platform Invocation services,
                        disabling this will drop support for any
                        libraries using DllImport.
 
-               debug:
-                       Drop debugging support.
+               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.
 
                reflection_emit:
                        Drop System.Reflection.Emit support
 
 
                reflection_emit:
                        Drop System.Reflection.Emit support
 
-               large_code:
-                       Disables support for large assemblies.
+               reflection_emit_save:
+                       Drop support for saving dynamically created
+                       assemblies (AssemblyBuilderAccess.Save) in
+                       System.Reflection.Emit.
 
 
-               logging:
-                       Disables support for debug logging.
+               shadow_copy:
+                       Disables support for AppDomain's shadow copies
+                       (you can disable this if you do not plan on 
+                       using appdomains).
 
 
-               com:
-                       Disables COM support.
+               simd:
+                       Disables support for the Mono.SIMD intrinsics
+                       library.
 
                ssa:
                        Disables compilation for the SSA optimization
                        framework, and the various SSA-based
                        optimizations.
 
 
                ssa:
                        Disables compilation for the SSA optimization
                        framework, and the various SSA-based
                        optimizations.
 
-               generics:
-                       Generics support.  Disabling this will not
-                       allow Mono to run any 2.0 libraries or
-                       code that contains generics.
-               
+       --enable-llvm
+
+               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
+
        --enable-big-arrays
 
                This enables the use arrays whose indexes are larger
        --enable-big-arrays
 
                This enables the use arrays whose indexes are larger
@@ -478,3 +546,4 @@ This is Mono.
                independent checkout) from the Mono module, that
                directory is automatically configured to share the
                same prefix than this module gets.
                independent checkout) from the Mono module, that
                directory is automatically configured to share the
                same prefix than this module gets.
+