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.
+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 checkout of the
+sources, you should go into the `mono' sibling directory and issue the
+make command, like this:
+
+ cd ../mono
+ ./autogen.sh --prefix=/usr/local
+ make
+ make install
+
+The compilation is bundled with the build due to dependencies on the
+class libraries on the runtime.
-To build this package, you must already have a C# compiler installed.
-Build instructions for *NIX and Microsoft Windows follow.
-
-Building mcs
-============
-
-These instructions apply to both Unix and Windows. You need GNU make
-to build the software (on Windows, you will need for example the
-Cygwin environment setup)
-
-To build the compiler and class libraries, run:
-
- make
-
-The libraries will be placed in the directory class/lib/ and the mcs
-compiler executable in mcs/.
-
-To install them, run the following:
-
- make install
+Configuration
+=============
-The default is /usr/local, to change this configuration option type:
+If you want to change the configuration options for the build process,
+place your configuration options in build/config.make
- echo prefix=/your-prefix > build/config.make
+A list of variables that control the build are listed in the file
+build/config-default.make.
-If you are tracking Mono's development, you may sometimes need to share
-the compiled libraries with others, you can do:
+More About the Build System
+===========================
- make monocharge
+More information is found in build/README.*. Here's a quick rundown
+of the features:
-Or a light version:
+ * Profile support. 'make PROFILE=profilename' or 'export
+ PROFILE=profilename ; make' will work. Profiles are defined
+ in build/profiles/profilename.make ;
- make monocharge-lite
+ * Important variables are shared among makefiles now; you can
+ edit build/config.make (see build/config-default.make for a
+ template) and give global settings, or just have a much
+ saner time of writing new makefiles.
+ * Response files, stamps, and other build trivia now all land
+ in build/deps/, making the library build directories
+ cleaner.
-Configuration
--------------
+ * Test libraries now live in class/Library/Library_test.dll,
+ not class/Library/Test. 'make test' will build the test DLL,
+ 'make run-test' will actually run the nunit tests.
-If you want to change the configuration options for the build process,
-place your configuration options in build/config.make
+ * Standardized recursive targets: all, clean, install, test,
+ run-test. Read build/README.makefiles for definitions of
+ what they should do
-A list of variables that control the build are listed in the
-build/config-default.make
+ * (Relatively) sane 'make dist' target; 'make distcheck'
+ support;