X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2FINSTALL.txt;h=3e7c06fad829f5a3c75d83e43d66dcf320ff87ca;hb=01df432af43ed3dd9a225b13e0ebcce9a8a34a5a;hp=2b59d588ba3b029982d950d69de74cd90d231faa;hpb=b5cfba1835f2ba823796f825410e0062b7e4c9a3;p=mono.git diff --git a/mcs/INSTALL.txt b/mcs/INSTALL.txt index 2b59d588ba3..3e7c06fad82 100644 --- a/mcs/INSTALL.txt +++ b/mcs/INSTALL.txt @@ -23,7 +23,7 @@ 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 command, like this: @@ -35,72 +35,6 @@ make command, like this: 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" - -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 -=========== - -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 ============= @@ -110,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 @@ -164,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;