+ --with-moonlight=yes,no
+
+ Whether you want to generate the Silverlight/Moonlight
+ libraries and toolchain in addition to the default
+ (1.1 and 2.0 APIs).
+
+ This will produce the `smcs' compiler which will reference
+ 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.
+
+ --with-libgdiplus=installed,sibling,<path>
+
+ This is used to configure where should Mono look for
+ libgdiplus when running the System.Drawing tests.
+
+ It defaults to `installed', which means that the
+ library is available to Mono through the regular
+ system setup.
+
+ `sibling' can be used to specify that a libgdiplus
+ that resides as a sibling of this directory (mono)
+ should be used.
+
+ Or you can specify a path to a libgdiplus.
+
+ --disable-shared-memory
+
+ Use this option to disable the use of shared memory in
+ Mono (this is equivalent to setting the MONO_DISABLE_SHM
+ environment variable, although this removes the feature
+ completely).
+
+ Disabling the shared memory support will disable certain
+ features like cross-process named mutexes.
+
+ --enable-minimal=LIST
+
+ Use this feature to specify optional runtime
+ components that you might not want to include. This
+ is only useful for developers embedding Mono that
+ require a subset of Mono functionality.
+
+ The list is a comma-separated list of components that
+ should be removed, these are:
+
+ aot:
+ 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.
+
+ debug:
+ Drop debugging support.
+
+ 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.
+
+ 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_save:
+ Drop support for saving dynamically created
+ 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.
+
+ ssa:
+ Disables compilation for the SSA optimization
+ framework, and the various SSA-based
+ optimizations.
+
+ --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
+ than Int32.MaxValue.
+
+ By default Mono has the same limitation as .NET on
+ Win32 and Win64 and limits array indexes to 32-bit
+ values (even on 64-bit systems).
+
+ In certain scenarios where large arrays are required,
+ you can pass this flag and Mono will be built to
+ support 64-bit arrays.
+
+ This is not the default as it breaks the C embedding
+ ABI that we have exposed through the Mono development
+ cycle.
+
+ --enable-parallel-mark
+
+ Use this option to enable the garbage collector to use
+ multiple CPUs to do its work. This helps performance
+ on multi-CPU machines as the work is divided across CPUS.
+
+ This option is not currently the default as we have
+ not done much testing with Mono.
+
+ --enable-dtrace
+
+ On Solaris and MacOS X builds a version of the Mono
+ runtime that contains DTrace probes and can
+ participate in the system profiling using DTrace.
+
+
+ --disable-dev-random
+
+ Mono uses /dev/random to obtain good random data for
+ any source that requires random numbers. If your
+ system does not support this, you might want to
+ disable it.
+
+ There are a number of runtime options to control this
+ also, see the man page.