codeowners update
[mono.git] / mcs / INSTALL.txt
index e21142f75a840c87ee88ba0c16c4c1bf2bc1b749..3e7c06fad829f5a3c75d83e43d66dcf320ff87ca 100644 (file)
@@ -1,76 +1,58 @@
 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.
-
-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
-
-The default is /usr/local, to change this configuration option type:
-
-    echo prefix=/your-prefix > build/config.make
-
-If you are tracking Mono's development, you may sometimes need to share
-the compiled libraries with others, you can do:
-
-    make monocharge
-
-Or a light version:
-
-    make monocharge-lite
-
+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.
 
 Configuration
--------------
+=============
 
 If you want to change the configuration options for the build process,
 place your configuration options in build/config.make
 
-A list of variables that control the build are listed in the
-build/config-default.make
+A list of variables that control the build are listed in the file
+build/config-default.make.
 
-The Build System
-----------------
+More About the Build System
+===========================
 
-        * Unified build system for Windows and Linux. Windows is still
-         fairly untested, but "should work." Unfortunately I don't
-         have a Windows machine to test on, but Gonzalo can get
-         corlib to build I think and that's about as complicated as
-         it gets.
+More information is found in build/README.*. Here's a quick rundown
+of the features:
 
         * Profile support. 'make PROFILE=profilename' or 'export
          PROFILE=profilename ; make' will work. Profiles are defined
-         in build/profiles/profilename.make ; right now there isn't
-         too much going on. The 'bootstrap' profile will build the
-         way makefile.gnu did on Linux, by setting MONO_PATH and
-         using mcs/mcs.exe; the default profile will build against
-         the existing system libraries and compile with 'mcs', which
-         should reduce a lot of 'corlib out of sync' warnings.
+         in build/profiles/profilename.make ;
 
         * Important variables are shared among makefiles now; you can
          edit build/config.make (see build/config-default.make for a
@@ -83,17 +65,11 @@ The Build System
 
         * 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. Set the
-         variable TEST_HARNESS to run with a program other than
-         nunit-console (for example, nunit-gtk).
+         'make run-test' will actually run the nunit tests.
 
         * Standardized recursive targets: all, clean, install, test,
          run-test.  Read build/README.makefiles for definitions of
          what they should do
 
         * (Relatively) sane 'make dist' target; 'make distcheck'
-         support; cute 'make monocharge' and 'make monocharge-lite'
-         targets. They're made possible because 'make install' now
-         supports DESTDIR a la automake, which I'm sure someone cares
-         about.
-
+         support;