implementation of Microsoft's .NET Framework based on the ECMA
standards for C# and the Common Language Runtime.
+The Mono project is part of the [.NET Foundation](http://www.dotnetfoundation.org/)
+
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mono/mono?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
1. [Compilation and Installation](#compilation-and-installation)
6. [Configuration Options](#configuration-options)
7. [Working with Submodules](#working-with-submodules)
-**Build Status**
-
-Officially supported architectures:
-
-| debian-amd64 | debian-i386 | debian-armel | debian-armhf | windows-amd64 |
-|-------------------------|------------------------|-------------------------|-------------------------|---------------------------|
-| [![debian-amd64][1]][2] | [![debian-i386][3]][4] | [![debian-armel][5]][6] | [![debian-armhf][7]][8] | [![windows-amd64][9]][10] |
-
-Community supported architectures:
-
-| centos-s390x |
-|---------------------------|
-| [![centos-s390x][11]][12] |
-
-[1]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-amd64/badge/icon
-[2]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-amd64/
-[3]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-i386/badge/icon
-[4]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-i386/
-[5]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armel/badge/icon
-[6]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armel/
-[7]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armhf/badge/icon
-[8]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armhf/
-[9]: https://ci.appveyor.com/api/projects/status/1e61ebdfpbiei58v/branch/master?svg=true
-[10]: https://ci.appveyor.com/project/ajlennon/mono-817/branch/master
-[11]: https://jenkins.mono-project.com/job/z/label=centos-s390x/badge/icon
-[12]: https://jenkins.mono-project.com/job/z/label=centos-s390x
+### Build Status
+
+| OS | Architecture | Status |
+|--------------|--------------------|------------------------------|
+| Ubuntu 14.04 | amd64 | [![ubuntu-1404-amd64][1]][2] |
+| Ubuntu 14.04 | i386 | [![ubuntu-1404-i386][3]][4] |
+| Debian 8 | armel | [![debian-8-armel][5]][6] |
+| Debian 8 | armhf | [![debian-8-armhf][7]][8] |
+| Debian 8 | arm64 | [![debian-8-arm64][9]][10] |
+| OS X | amd64 | [![osx-amd64][11]][12] |
+| OS X | i386 | [![osx-i386][13]][14] |
+| Windows | amd64 | [![windows-amd64][15]][16] |
+| Windows | i386 | [![windows-amd64][17]][18] |
+| CentOS | s390x (cs) | [![centos-s390x][19]][20] |
+| Debian 8 | ppc64el (cs) | [![debian-8-ppc64el][21]][22]|
+
+_(cs) = community supported architecture_
+
+[1]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-amd64/badge/icon
+[2]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-amd64
+[3]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-i386/badge/icon
+[4]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-i386/
+[5]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armel/badge/icon
+[6]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armel/
+[7]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armhf/badge/icon
+[8]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armhf/
+[9]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-arm64/badge/icon
+[10]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-arm64/
+[11]: https://jenkins.mono-project.com/job/test-mono-mainline/label=osx-amd64/badge/icon
+[12]: https://jenkins.mono-project.com/job/test-mono-mainline/label=osx-amd64/
+[13]: https://jenkins.mono-project.com/job/test-mono-mainline/label=osx-i386/badge/icon
+[14]: https://jenkins.mono-project.com/job/test-mono-mainline/label=osx-i386/
+[15]: https://jenkins.mono-project.com/job/z/label=w64/badge/icon
+[16]: https://jenkins.mono-project.com/job/z/label=w64/
+[17]: https://jenkins.mono-project.com/job/z/label=w32/badge/icon
+[18]: https://jenkins.mono-project.com/job/z/label=w32/
+[19]: https://jenkins.mono-project.com/job/test-mono-mainline-community/label=centos-s390x/badge/icon
+[20]: https://jenkins.mono-project.com/job/test-mono-mainline-community/label=centos-s390x
+[21]: https://jenkins.mono-project.com/job/test-mono-mainline-community-chroot/label=debian-8-ppc64el/badge/icon
+[22]: https://jenkins.mono-project.com/job/test-mono-mainline-community-chroot/label=debian-8-ppc64el
Compilation and Installation
============================
collector.
* On platforms that support it, after building Mono, you will have
-both a `mono` binary and a `mono-sgen` binary. `mono` uses Boehm,
+both a `mono-boehm` binary and a `mono-sgen` binary. `mono-boehm` uses Boehm,
while `mono-sgen` uses the Simple Generational GC.
-* `--with-gc=[included, boehm, none]` - Selects the default Boehm
+* `--with-libgc=[included, none]` - Selects the default Boehm
garbage collector engine to use.
* *included*: (*slightly modified Boehm GC*) This is the default
value for the Boehm GC, and it's the most feature complete, it will
allow Mono to use typed allocations and support the debugger.
- * *boehm*: This is used to use a system-install Boehm GC, it is
-useful to test new features available in Boehm GC, but we do not
-recommend that people use this, as it disables a few features.
-
* *none*:
-Disables the inclusion of a garbage collector.
+Disables the inclusion of a Boehm garbage collector.
* This defaults to `included`.
* There are a number of runtime options to control this
also, see the man page.
+* `--with-csc=roslyn,mcs,default`
+
+ * Use this option to configure which C# compiler to use. By default
+ the configure script will pick Roslyn, except on platforms where
+ Roslyn does not work (Big Endian systems) where it will pick mcs.
+
+ If you specify "mcs", then Mono's C# compiler will be used. This
+ also allows for a complete bootstrap of Mono's core compiler and
+ core libraries from source.
+
+ If you specify "roslyn", then Roslyn's C# compiler will be used.
+ This currently uses Roslyn binaries.
+
* `--enable-nacl`
* This configures the Mono compiler to generate code
* Currently this is used with Mono's AOT engine as
Native Client does not support JIT engines yet.
+* `--enable-wasm`
+
+ * Use this option to configure mono to run on WebAssembly. It will
+ set both host and target to the WebAssembly triplet. This overrides
+ the values passed to `--host` or `--target` and ignored what config.sub guesses.
+
+ This is a workaround to enable usage of old automake versions that don't
+ recognize the wasm triplet.
+
+
Working With Submodules
=======================
The desired output diff is a change in `.gitmodules` to reflect the
change in the remote URL, and a change in /<submodule> where you see
the desired change in the commit hash.
+
+License
+=======
+
+See the LICENSE file for licensing information, and the PATENTS.TXT
+file for information about Microsoft's patent grant.
+
+Mono Trademark Use Policy
+=========================
+
+The use of trademarks and logos for Mono can be found [here] (http://www.dotnetfoundation.org/legal/mono-tm).
+
+Maintaining the Class Library Solution Files
+============================================
+
+Mono now ships with a solution file that can be used to build the
+assemblies from an IDE. Either by opening the topmost `net_4_x.sln`
+file, or to by loading one of the individual `csproj` files located in
+each directory.
+
+These are maintained by extracting the configuration information from
+our Makefiles, which as of May 2016 remain the canonical location for
+configuration information.
+
+When changes are made to the Makefiles, a user would need to run the
+following command to re-generate the solution files at the top level:
+
+ $ make update-solution-files
+