X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=README;h=abb0314418806d7682a0784db26f217583822888;hb=c0b7a68480369dce554fe0d3943b17d68270b620;hp=d7eb80526448c82b1a3e9eb87677d38fce222261;hpb=5d2fdfcd9e54c599286566887a55075f84d3a808;p=mono.git diff --git a/README b/README index d7eb8052644..abb03144188 100644 --- a/README +++ b/README @@ -52,8 +52,8 @@ This is Mono. make make install - Mono supports a JIT engine on x86, SPARC, SPARCv9, S/390, AMD64, ARM - and PowerPC systems. + Mono supports a JIT engine on x86, SPARC, SPARCv9, S/390, + S/390x, AMD64, ARM and PowerPC systems. If you obtained this as a snapshot, you will need an existing Mono installation. To upgrade your installation, unpack both @@ -67,6 +67,14 @@ This is Mono. ./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 --------------------------------- @@ -133,7 +141,7 @@ This is Mono. also try passing EXTERNAL_MCS=false on the make command-line. Testing and Installation - ------------------------ + ------------------------ You can run (part of) the mono and mcs testsuites with the command: @@ -224,7 +232,7 @@ This is Mono. systems do not support this feature, or you might want to override the auto-detection. - --with-static-mono=yes,no + --with-static_mono=yes,no This controls whether `mono' should link against a static library (libmono.a) or a shared library @@ -251,6 +259,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 @@ -259,10 +278,23 @@ 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 + + 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, @@ -279,6 +311,16 @@ This is Mono. 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 @@ -293,42 +335,124 @@ This is Mono. 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. + 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. - 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 - 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. - 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 + 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 @@ -402,6 +526,11 @@ This is Mono. Manual pages for the various Mono commands and programs. + samples/ + + Some simple sample programs on uses of the Mono + runtime as an embedded library. + scripts/ Scripts used to invoke Mono and the corresponding program. @@ -411,3 +540,10 @@ This is Mono. A directory that contains the Makefiles that link the mono/ and mcs/ build systems. + ../olive/ + + If the directory ../olive is present (as an + independent checkout) from the Mono module, that + directory is automatically configured to share the + same prefix than this module gets. +