distribution, which contains just enough to run the 'mcs'
compiler. You do this with:
+ # Run the following line after ./autogen.sh
make get-monolite-latest
This will download and automatically gunzip and untar the
tarball, and place the files appropriately so that you can then
just run:
- make
+ make EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/gmcs.exe
- To ensure that you're using the 'monolite' distribution, you can
- also try passing EXTERNAL_MCS=false on the make command-line.
+ And that will use the files downloaded by 'make get-monolite-latest.
Testing and Installation
------------------------
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
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.
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
full details and up-to-date information on this feature.
You will need to have an LLVM built that Mono can link
- against
+ 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
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
=============
directory is automatically configured to share the
same prefix than this module gets.
+
+