2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / INSTALL.txt
index 0f663e82cc7c555996adca1ed63c8f6f04ff6498..2b59d588ba3b029982d950d69de74cd90d231faa 100644 (file)
@@ -9,22 +9,34 @@ be supplemented by the class libraries, which are written in C#.  This
 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
-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
@@ -34,6 +46,13 @@ 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
@@ -45,15 +64,29 @@ To install them, run the following:
 
     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.
+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
 ===========
@@ -97,7 +130,7 @@ rest of your build can proceed.
 
 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
 ===========================