[xbuild] Make Engine.DefaultToolsVersion 2.0 .
[mono.git] / man / mcs.1
index 4582b4117878d04b540a8913b8c2d5c70e4f062a..b0e28637d566ab00614b0d7c8984767b17302f49 100644 (file)
--- a/man/mcs.1
+++ b/man/mcs.1
@@ -4,7 +4,7 @@
 ..
 .TH mcs 1 "6 January 2001"
 .SH NAME 
-mcs, gmcs, smcs \- Mono C# Compiler (1.0, 2.0, Moonlight)
+mcs \- Mono C# Compiler
 .SH SYNOPSIS
 .B mcs 
 [option] [source-files]
@@ -17,23 +17,8 @@ prepending the @ symbol to the response file name.
 .PP
 The 
 .I mcs
-compiler is used to compile against the 1.x profile and implements
-C# 1.0 and parts of C# 2.0 and C# 3.0 specification which do not depend
-on generics.
-.PP
-The
-.I gmcs
-compiler is used to compile against the 2.0 profile and implements
-the complete C# 3.0 specification.
-.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 3.5 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).
+compiler is used to compile against the latest Mono Base Class Library
+version and fully implements C# 1.0, 2.0, 3.0 and 4.0 specifications.
 .PP
 See the section on packages for more information.
 .PP
@@ -148,6 +133,11 @@ generate an exception that can be caught by a debugger.
 This flag is ignored by Mono's C# compiler and is present only to
 allow MCS to be used as a CSC replacement for msbuild/xbuild.
 .TP
+.I \-fullpaths
+Any source code error or warning issued by the compiler includes file
+name only by default. This option causes compiler to issue absolute file
+path instead.
+.TP
 .I \-keyfile:KEYFILE
 Strongname (sign) the output assembly using the key pair present in 
 the specified strong name key file (snk). A full key pair is required
@@ -190,13 +180,12 @@ Restrict the compiler to use only the features available in C# 3.0
 (a superset of ISO-1 and ISO-2).
 .TP
 .I "future"
-Enables features from upcoming versions of the language.   As of
-May 2009 this includes support for C# 4 as released in Visual Studio 2010 beta 1.
+Enables unstable features from upcoming versions of the language.
 .PP
-Notice that this flag only controls the language features available to
-the programmer, it does not control the kind of assemblies produced.
-Programs compiled with mcs will reference the 1.1 APIs, Programs
-compiled with gmcs reference the 2.0 APIs.
+Notice that this flag only restricts the language features available to
+the programmer. A version of produced assemblies can be controled using
+.I SDK
+option.
 .ne
 .RE
 .TP
@@ -262,11 +251,7 @@ libraries).
 .TP
 .I \-pkg:silver
 References the assemblies for creating Moonlight/Silverlight
-applications.  This is automatically used when using the 
-.I smcs 
-compiler, but it is here when developers want to use it with the
-.I gmcs
-compiler.
+applications.
 .TP
 .I \-pkg:silverdesktop
 Use this option to create Moonlight/Silverlight applications that
@@ -351,6 +336,14 @@ shell will perform globbing, so you might want to use it like this:
                $ mcs -recurse:'*.cs' 
 .fi
 .TP
+.I \-sdk:VERSION
+Used to specify the version of Base Class Library assemblies used for
+compilation. Following predefined values are valid: 2, 4 (default) as
+well as any custom value. The predefined version number means which
+.NET version should the produced assembly be compatible with. When
+custom value is specified mcs will try to find Base Class Libraries
+in the mono installed location PREFIX/lib/mono/<value>.
+.TP
 .I \-\-shell
 Starts up the compiler in interactive mode, providing a C# shell for
 statements and expressions.   A shortcut is to use the
@@ -413,10 +406,6 @@ current directory, the compiler base directory and if the assembly is
 not found in any of those places in the directories specified as
 arguments to the -lib: command argument.
 .PP
-Depending on the invocation for the C# compiler (mcs, gmcs, or smcs)
-you will get a default set of libraries and versions of those
-libraries that are referenced.
-.PP
 The compiler uses the library path to locate libraries, and is able to
 reference libraries from a particular package if that directory is
 used.  To simplify the use of packages, the C# compiler includes the
@@ -539,7 +528,7 @@ the MIT X11.  Please read the accompanying `COPYING' file for details.
 Alternative licensing for the compiler is available from Novell.
 .PP
 .SH SEE ALSO
-csharp(1), mdb(1), mono(1), mopen(1), mint(1), pkg-config(1),sn(1)
+csharp(1), mdb(1), mono(1), mopen(1), pkg-config(1), sn(1)
 .PP
 .SH BUGS
 To report bugs in the compiler, you must file them on our bug tracking