Extracts the C#/XML documentation from the source code and stores in in
the given FILE.
.TP
+.I \-errorreport
+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 \-\-fatal
This is used for debugging the compiler. This makes the error emission
generate an exception that can be caught by a debugger.
.TP
+.I \-filealign
+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
Restrict compiler to use only the second ISO standardized features.
This allows the use of generics, static classes, iterators and
anonymous methods for example.
+.TP
+.I "3"
+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.
.PP
Notice that this flag only controls the language features available to
the programmer, it does not control the kind of assemblies produced.
.ne
.RE
.TP
+.I \-platform:ARCH
+Used to specify the target platform. The possible values are: anycpu,
+x86, x64 or itanium. As of June 2009, the Mono runtime only have support
+to emit anycpu and x86 assemblies.
+.TP
.I -resource:RESOURCE[,ID]
Embeds to the given resource file. The optional ID can be used to
give a different name to the resource. If not specified, the resource
$ mcs -recurse:'*.cs'
.fi
.TP
+.I \-sdk:VERSION
+Used to specify the version of Base Class Library assemblies. The possible
+values are: 2 (default), 4. The version number means which .NET version
+should the produced assembly be compatible with.
+.TP
.I \-\-shell
Starts up the compiler in interactive mode, providing a C# shell for
statements and expressions. A shortcut is to use the
Shows the compiler version.
.TP
.I \-warnaserror, \-warnaserror+
-Treat warnings as errors.
+All compilers warnings will be reported as errors.
+.TP
+.I \-warnaserror:W1,[Wn], -warnaserror+:W1,[Wn]
+Treats one or more compiler warnings as errors.
+.TP
+.I \-warnaserror-:W1,[Wn]
+Sets one or more compiler warnings to be always threated as warnings.
+Becomes useful when used together with -warnaserror.
.TP
.I \-warn:LEVEL
Sets the warning level. 0 is the lowest warning level, and 4 is the
Use this to stop option parsing, and allow option-looking parameters
to be passed on the command line.
.PP
-.SH PACKAGES
+.SH PACKAGES AND LIBRARIES
+When referencing an assembly, if the name of the assembly is a path,
+the compiler will try to load the assembly specified in the path. If
+it does not, then the compiler will try loading the assembly from the
+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.