X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2FINSTALL.txt;h=3e7c06fad829f5a3c75d83e43d66dcf320ff87ca;hb=ab0b591ca59d99a2370bf9f579b091c5edf09ae5;hp=83f0273df05502dcf563d3c1366452cbe42ddd45;hpb=3f0bdeb968f87bf321962c0e45df4f6b0384d5be;p=mono.git diff --git a/mcs/INSTALL.txt b/mcs/INSTALL.txt index 83f0273df05..3e7c06fad82 100644 --- a/mcs/INSTALL.txt +++ b/mcs/INSTALL.txt @@ -1,53 +1,75 @@ Basic Installation ================== -The Mono project has developed mono, an x86-specific CL JIT compiler and -mint, a portable CLI interpreter. The build process of each of these -depends on nothing more than a C compiler, glib2 and libgc. +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 corlib, a CLR assembly to which they are closely -tied. This package provides the C# sources for corlib as well as some -additional assemblies and mcs, the Mono C# compiler. - -To build this package, you must already have a C# compiler installed. -Build instructions for *NIX and Microsoft Windows follow. - -Building mcs on *NIX -==================== - -mcs provides a set of makefiles which make it easy to build and install -mcs on *NIX systems like Linux or FreeBSD where mcs is already -installed. - -To build the compiler and class libraries, run: - - make -f makefile.gnu - -The libraries will be placed in the directory class/lib/ and the mcs -compiler executable in mcs/. - -To install them, run the following, where prefix identifies where you -want the files installed: - - make -f makefile.gnu install prefix=/usr/local - -If you are tracking Mono's development, you may sometimes need to share -the compiled libraries with others. If you want to produce an easily -distributable tarball, run: - - make -f makefile.gnu dist - -Building mcs on Windows -======================= - -It is also possible to build mcs on Windows using the Microsoft .NET -framework. This may be convenient if you do not have access to a working -mcs setup. 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/. They can then be copied to /usr/lib and -/usr/bin or wherever desired on the target system. - +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;