README 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  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.0
  13. Available from: http://www.gtk.org/
  14. Optional dependencies:
  15. * ICU library
  16. http://oss.software.ibm.com/icu/index.html
  17. You will need this one to get complete support for the international
  18. features of the .NET Framework.
  19. * Cairo and libgdiplus
  20. If you want to get support for System.Drawing, you will need to get
  21. both Libgdiplus and Cairo.
  22. b. Building the Software
  23. ------------------------
  24. If you obtained this package as an officially released tarball,
  25. this is very simple, use configure and make:
  26. ./configure --prefix=/usr/local
  27. make
  28. make install
  29. Mono supports a JIT engine on x86, SPARC and PowerPC systems.
  30. The various commands that ship with Mono default to the JIT engine
  31. on x86 and SPARC, to turn it on for PPC systems, use the --with-jit=yes
  32. command line option to configure.
  33. MacOS X Users: you will need to download the latest Boehm GC
  34. Alpha release for garbage collection to work properly.
  35. If you obtained this as a snapshot, you will need an existing
  36. Mono installation. To upgrade your installation, unpack both
  37. mono and mcs:
  38. tar xzf mcs-XXXX.tar.gz
  39. tar xzf mono-XXXX.tar.gz
  40. cd mono-XXXX
  41. ./autogen.sh --prefix=/usr/local
  42. make fullbuild
  43. c. Upgrade from CVS
  44. -------------------
  45. If you are upgrading from CVS you will need an existing Mono installation.
  46. First verify that you have a working installation:
  47. echo 'class X { static void Main () { System.Console.Write("OK");}}' > x.cs
  48. Compile:
  49. mcs x.cs
  50. And run:
  51. mono x.exe
  52. If you get the output `OK' and no errors, you are ready to start your CVS upgrade.
  53. First, make sure that you have up-to-date mcs and mono sources:
  54. cvs co mono mcs
  55. Then, go into the mono directory, and configure:
  56. cd mono
  57. ./autogen.sh --prefix=/usr/local
  58. Then compile using the special target `fullbuild':
  59. make fullbuild
  60. This step will compile and install at the same time.
  61. Failure to follow these steps will result in a broken installation.
  62. 2. Using Mono
  63. =============
  64. Once you have installed the software, you can run a few programs:
  65. * runtime engine
  66. mono program.exe
  67. or
  68. mint program.exe
  69. * C# compiler
  70. mcs program.cs
  71. * CIL Disassembler
  72. monodis program.exe
  73. See the man pages for mono(1), mint(1), monodis(1) and mcs(2)
  74. for further details.
  75. 3. Directory Roadmap
  76. ====================
  77. doc/
  78. Contains the web site contents.
  79. docs/
  80. Technical documents about the Mono runtime.
  81. data/
  82. Configuration files installed as part of the Mono runtime.
  83. mono/
  84. The core of the Mono Runtime.
  85. metadata/
  86. The object system and metadata reader.
  87. jit/
  88. The Just in Time Compiler.
  89. dis/
  90. CIL executable Disassembler
  91. cli/
  92. Common code for the JIT and the interpreter.
  93. io-layer/
  94. The I/O layer and system abstraction for
  95. emulating the .NET IO model.
  96. cil/
  97. Common Intermediate Representation, XML
  98. definition of the CIL bytecodes.
  99. interp/
  100. Interpreter for CLI executables.
  101. arch/
  102. Architecture specific portions.
  103. man/
  104. Manual pages for the various Mono commands and programs.
  105. scripts/
  106. Scripts used to invoke Mono and the corresponding program.
  107. runtime/
  108. A directory holding a pre-compiled version of the Mono
  109. runtime.