Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / INSTALL.txt
index e2f2927e20e328c298093cde0731363fe3d5bd93..3e7c06fad829f5a3c75d83e43d66dcf320ff87ca 100644 (file)
@@ -23,83 +23,18 @@ compilers and tools.
 *                                                                   *
 *********************************************************************
 
-If you only want to build a snapshot or a fresh CVS checkout of the
+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 bootstrap command, like this:
+make command, like this:
 
          cd ../mono
          ./autogen.sh --prefix=/usr/local
-         make bootstrap
+         make
          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. 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
-
-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
-
-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 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, which contains only the essential libraries and
-results in a much smaller file:
-
-    make monocharge-lite
-
 Configuration
 =============
 
@@ -109,48 +44,15 @@ place your configuration options in build/config.make
 A list of variables that control the build are listed in the file
 build/config-default.make.
 
-Build profiles? What?
-======================
-
-Don't worry about them too much. If you're wondering which to use:
-use the default if you can (that's why it's the default!) and use
-the atomic if you have to.
-
-The default profile uses the C# compiler and class libaries as they
-are built. This lets you build MCS without needing to have already 
-installed it, but can fail if the libraries change significantly.
-(This is the source of the dreaded "corlib out of sync" warning, most
-of the time.)
-
-The atomic profile tries to use the system compiler and preexisting
-MCS libraries. New libaries are built against this constant reference 
-point, so if a newly built library has a binary incompatibility, the
-rest of your build can proceed.
-
-If you want to always use the atomic profile, run this command:
-
-       ./configure --profile=atomic
-
 More About the Build System
 ===========================
 
 More information is found in build/README.*. Here's a quick rundown
 of the features:
 
-        * 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.
-
         * 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
@@ -163,16 +65,11 @@ of the features:
 
         * 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;