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 fullbuild command, like this:
+ cd ../mono
./autogen --prefix=/usr/local
make fullbuild
That will build and install the code in a single pass. The
-compilation is bundled with the build due to depedencies on the class
+compilation is bundled with the build due to dependencies on the class
libraries on the runtime.
Build Features for Developers.
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
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.
+Troubleshooting
+===============
+
+Occasionally, something in the compiler or runtime changes enough that
+an existing installation cannot complete a full build 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 fullbuild).
+
+ wget http://go-mono.com/daily/monolite-20031028.tar.gz
+ tar -zxvf monolite-20031028.tar.gz
+ cd monolite-20031028
+ cp *.exe /usr/local/bin/.
+ cp *.dll /usr/local/lib/.
+
Monocharges
===========
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
===========================