Basic Installation ================== 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 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 file build/config-default.make. More About the Build System =========================== 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 ; * Important variables are shared among makefiles now; you can edit build/config.make (see build/config-default.make for a template) and give global settings, or just have a much saner time of writing new makefiles. * Response files, stamps, and other build trivia now all land in build/deps/, making the library build directories cleaner. * 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. * 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;