README 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. This is Mono.
  2. 1. Installation
  3. 2. Using Mono
  4. 3. Directory Roadmap
  5. 1. Compilation and Installation
  6. ===============================
  7. a. Build Requirements
  8. ---------------------
  9. To build Mono, you will need the following components:
  10. * pkg-config
  11. Available from: http://www.freedesktop.org/Software/pkgconfig
  12. * glib 2.4
  13. Available from: http://www.gtk.org/
  14. Optional dependencies:
  15. * libgdiplus
  16. If you want to get support for System.Drawing, you will need to get
  17. Libgdiplus.
  18. b. Building the Software
  19. ------------------------
  20. If you obtained this package as an officially released tarball,
  21. this is very simple, use configure and make:
  22. ./configure --prefix=/usr/local
  23. make
  24. make install
  25. Mono supports a JIT engine on x86, SPARC, S/390, AMD64 and PowerPC systems.
  26. If you obtained this as a snapshot, you will need an existing
  27. Mono installation. To upgrade your installation, unpack both
  28. mono and mcs:
  29. tar xzf mcs-XXXX.tar.gz
  30. tar xzf mono-XXXX.tar.gz
  31. mv mono-XXX mono
  32. mv mcs-XXX mcs
  33. cd mono
  34. ./autogen.sh --prefix=/usr/local
  35. make
  36. c. Building the software from SVN
  37. ---------------------------------
  38. If you are building the software from SVN, make sure that you
  39. have up-to-date mcs and mono sources:
  40. svn co svn+ssh://[email protected]/source/trunk/mono
  41. svn co svn+ssh://[email protected]/source/trunk/mcs
  42. Then, go into the mono directory, and configure:
  43. cd mono
  44. ./autogen.sh --prefix=/usr/local
  45. make
  46. This will automatically go into the mcs/ tree and build the
  47. binaries there.
  48. This assumes that you have a working mono installation, and that
  49. there's a C# compiler named 'mcs', and a corresponding IL
  50. runtime called 'mono'. You can use two make variables
  51. EXTERNAL_MCS and EXTERNAL_RUNTIME to override these. e.g., you
  52. can say
  53. make EXTERNAL_MCS=/foo/bar/mcs EXTERNAL_RUNTIME=/somewhere/else/mono
  54. If you don't have a working Mono installation
  55. ---------------------------------------------
  56. If you don't have a working Mono installation, an obvious choice
  57. is to install the latest released packages of 'mono' for your
  58. distribution and try from the beginning.
  59. You can also try a slightly more risky approach that should work
  60. almost all the time.
  61. This works by first getting the latest version of the 'monolite'
  62. distribution, which contains just enough to run the 'mcs'
  63. compiler. You do this with:
  64. make get-monolite-latest
  65. This will download and automatically gunzip and untar the
  66. tarball, and place the files appropriately so that you can then
  67. just run:
  68. make
  69. To ensure that you're using the 'monolite' distribution, you can
  70. also try passing EXTERNAL_MCS=false on the make command-line.
  71. Testing and Installation
  72. ------------------------
  73. You can run (part of) the mono and mcs testsuites with the command:
  74. make check
  75. All tests should pass.
  76. If you want more extensive tests, including those that test the
  77. class libraries, you need to re-run 'configure' with the
  78. '--enable-nunit-tests' flag, and try
  79. make -k check
  80. Expect to find a few testsuite failures. As a sanity check, you
  81. can compare the failures you got with
  82. http://go-mono.com/tests/displayTestResults.php
  83. You can now install mono with:
  84. make install
  85. Failure to follow these steps may result in a broken installation.
  86. 2. Using Mono
  87. =============
  88. Once you have installed the software, you can run a few programs:
  89. * runtime engine
  90. mono program.exe
  91. or
  92. mint program.exe
  93. * C# compiler
  94. mcs program.cs
  95. * CIL Disassembler
  96. monodis program.exe
  97. See the man pages for mono(1), mint(1), monodis(1) and mcs(2)
  98. for further details.
  99. 3. Directory Roadmap
  100. ====================
  101. doc/
  102. Contains the web site contents.
  103. docs/
  104. Technical documents about the Mono runtime.
  105. data/
  106. Configuration files installed as part of the Mono runtime.
  107. mono/
  108. The core of the Mono Runtime.
  109. metadata/
  110. The object system and metadata reader.
  111. jit/
  112. The Just in Time Compiler.
  113. dis/
  114. CIL executable Disassembler
  115. cli/
  116. Common code for the JIT and the interpreter.
  117. io-layer/
  118. The I/O layer and system abstraction for
  119. emulating the .NET IO model.
  120. cil/
  121. Common Intermediate Representation, XML
  122. definition of the CIL bytecodes.
  123. interp/
  124. Interpreter for CLI executables.
  125. arch/
  126. Architecture specific portions.
  127. man/
  128. Manual pages for the various Mono commands and programs.
  129. scripts/
  130. Scripts used to invoke Mono and the corresponding program.
  131. runtime/
  132. A directory that contains the Makefiles that link the
  133. mono/ and mcs/ build systems.