-The Mono C# compiler accepts the same options than the Microsoft C#
-compiler does. Those options can start with a slash or a dash
-(/checked is the same as -checked). Additionally to this, the
-GNU-like options are supported, those begin with "--". All
-MCS-specific flags which are not available in the Microsoft C#
-compiler are available only with the GNU-style options.
+The
+.I mcs
+compiler is used to compile against the 1.x profile and implements
+C# 1.0 and 2.0 with the exception of generics and nullable types.
+.PP
+The
+.I gmcs
+compiler is used to compile against the 2.0 profile and implements
+the complete C# 2.0 specification including generics.
+.PP
+The
+.I smcs
+compiler is used to compile against the Silverlight/Moonlight profile.
+This profile is designed to be used for creating Silverlight/Moonlight
+applications that will run on a web browser. The API exposed by this
+profile is a small subset of the 2.0 API (even if it is commonly
+referred as the 2.1 API, this API is a small subset of 2.0 with a few
+extensions), in addition this profile by default runs with
+-langversion:linq which turns on the C# 3.0 language by default.
+.PP
+The Mono C# compiler accepts the same command line options that the
+Microsoft C# compiler does. Those options can start with a slash or a
+dash (/checked is the same as -checked). Additionally some GNU-like
+options are supported, those begin with "--". All MCS-specific flags
+which are not available in the Microsoft C# compiler are available
+only with the GNU-style options.