[mcs] Don't stop type inference when a unique construction of the generic interface...
[mono.git] / mcs / INSTALL.txt
index a39ef19d342688858393f236ba603b61ebdfa54d..2b59d588ba3b029982d950d69de74cd90d231faa 100644 (file)
@@ -9,31 +9,50 @@ be supplemented by the class libraries, which are written in C#.  This
 package contains the components written in C#: class libraries,
 compilers and tools.
 
 package contains the components written in C#: class libraries,
 compilers and tools.
 
-Build Process for Users.
-========================
+*********************************************************************
+*                                                                   *
+*                            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
 
 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
-following command:
+make command, like this:
 
 
-         ./autogen --prefix=/usr/local
-         make fullbuild
+         cd ../mono
+         ./autogen.sh --prefix=/usr/local
+         make
+         make install
 
 
-That will build and install the code in a single pass.  The
-compilation is bundled with the build due to depedencies on the class
-libraries on the runtime.
+The compilation is bundled with the build due to dependencies on the
+class libraries on the runtime.
 
 
-Build Features for Developers.
-==============================
+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
 
 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).
 
 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
 To build the compiler and class libraries, run:
 
     make
@@ -45,15 +64,29 @@ To install them, run the following:
 
     make install
 
 
     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"
 
 If you get "corlib out of sync" errors, try
 
     make PROFILE="atomic"
 
-The difference between the two modes is explained farther down.
+A better alternative would be to fire off a 'make' from a sibling or
+parent 'mono/' tree.
+
+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
 ===========
 
 Monocharges
 ===========
@@ -97,7 +130,7 @@ rest of your build can proceed.
 
 If you want to always use the atomic profile, run this command:
 
 
 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
 ===========================
 
 More About the Build System
 ===========================