Basic Installation
==================
-The Mono project has developed mono, an x86-specific CL JIT compiler and
-mint, a portable CLI interpreter. The build process of each of these
-depends on nothing more than a C compiler, glib2 and libgc.
+The Mono project has developed mono, a CLI runtime. The build process
+of each of these depends on nothing more than a C compiler and glib2.
However, to provide a working runtime environment, these programs must
-be supplemented by corlib, a CLR assembly to which they are closely
-tied. This package provides the C# sources for corlib as well as some
-additional assemblies and mcs, the Mono C# compiler.
-
-Building MCS
-============
+be supplemented by the class libraries, which are written in C#. This
+package contains the components written in C#: class libraries,
+compilers and tools.
+
+*********************************************************************
+* *
+* NOTICE *
+* *
+* Unless you are developing the class libraries, you should *
+* not need to do any build steps in this directory. *
+* *
+* Go to ../mono and read the README file to compile and *
+* install. *
+* *
+* ../mono is where you have your `mono' source download *
+* *
+*********************************************************************
+
+If you only want to build a snapshot or a fresh CVS checkout of the
+sources, you should go into the `mono' sibling directory and issue the
+make bootstrap command, like this:
+
+ cd ../mono
+ ./autogen.sh --prefix=/usr/local
+ make bootstrap
+ make install
+
+The compilation is bundled with the build due to dependencies on the
+class libraries on the runtime.
+
+Build Features for Developers of Mono.
+======================================
These instructions apply to both Linux and Windows. To build this
package, you must already have a C# compiler installed. This means
that to build on Linux, you need to get a distribution of the MCS
-binaries; these are called monocharges. See README.building for
-information on where to get them. On Windows, you can just use the
+binaries; these are called monocharges. They can be found at
+www.go-mono.com/daily. On Windows, you can just use the
Microsoft compiler. You also need GNU make to build the software (on
Windows, you will need for example the Cygwin environment setup).
+You can customize your MCS configuration by using:
+
+ ./configure [--prefix=PREFIX] [--profile=PROFILE]
+
+If you do not run the above, the defaults are /usr/local for the
+prefix, and `default' for the profile.
+
To build the compiler and class libraries, run:
make
make install
-The default prefix is /usr/local. To change this configuration option type:
-
- echo prefix=/your-prefix >> build/config.make
-
If you get "corlib out of sync" errors, try
make PROFILE="atomic"
The difference between the two modes is explained farther down.
+Troubleshooting
+===============
+
+We try to maintain the CVS tree such that it is bootstrapable from the
+latest released version of mono and mcs. Occasionally, something in the
+compiler or runtime changes enough that an existing installation cannot
+complete a bootstrap from cvs. In this case, go to
+http://go-mono.com/daily and download a monocharge or monolite tarball.
+Unpack and copy the .dlls to $prefix/lib and .exes to $prefix/bin/.
+Then you should be able to complete the build normally (i.e. using make
+bootstrap).
+
+ wget http://go-mono.com/daily/monolite-20040505.tar.gz
+ tar -zxvf monolite-20040505.tar.gz
+ cd monolite-20040505
+ env prefix=/usr/local sh recharge.sh
+
Monocharges
===========
If you want to always use the atomic profile, run this command:
- echo PROFILE=atomic >> build/config.make
+ ./configure --profile=atomic
More About the Build System
===========================