2007-03-12 Marek Habersack <mhabersack@novell.com>
[mono.git] / man / mcs.1
index 34d6fc34539d61fe306f05f645d0b6e2fe223cda..28c81389339c89b7ccca33ebc48e08b3511de74e 100644 (file)
--- a/man/mcs.1
+++ b/man/mcs.1
@@ -1,6 +1,6 @@
 .TH mcs 1 "6 January 2001"
 .SH NAME 
-mcs \- Mono Compiler Suite.
+mcs, gmcs \- Mono C# Compiler (1.0 and 2.0)
 .SH SYNOPSIS
 .B mcs 
 [option] [source-files]
@@ -11,12 +11,20 @@ compiler, and a set of source files.  Extra options or arguments can
 be provided in a response file.  Response files are referenced by
 prepending the @ symbol to the response file name.
 .PP
-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.  The
+.I gmcs
+compiler is used to compile against the 2.x profile and implements
+the complete C# 2.0 specification including generics.
+.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.
 .PP
 C# source files must end with a ".cs" extension.  Compilation of C#
 source code requires all the files that make up a library, module or
@@ -31,6 +39,13 @@ Language Infrastructure virtual machine such as the Microsoft .NET
 runtime engine on Windows or the Mono runtime engine on Unix systems.
 Executables are not bound to a specific CPU or operating system.
 .PP
+The Mono C# compiler by default only references three assemblies:
+mscorlib.dll, System.dll and System.Xml.dll.   If you want to
+reference extra libraries you must manually specify them using the
+-pkg: command line option or the -r: command line option.
+Alternatively if you want to get all of the System libraries, you can
+use the -pkg:dotnet command line option.
+.PP
 .SH OPTIONS
 .TP
 .I \-\-about
@@ -60,7 +75,7 @@ of using the cryptic 65001 and "reset" restores the automatic handling of
 code pages.  These shorthands are not available on the Microsoft compiler.
 .TP
 .I \-define:SYMLIST, -d:SYMLIST
-Defines the symbol listed by the semi-colon separeted list SYMLIST
+Defines the symbol listed by the semi-colon separated list SYMLIST
 SYMBOL.  This can be tested in the source code by the pre-processor,
 or can be used by methods that have been tagged with the Conditional
 attribute. 
@@ -129,6 +144,11 @@ is to omit the switch.
 ISO-1   - Restrict compiler to use only ISO standardized features.
 The usage of features such as generics, static classes, anonymous
 methods will lead to error.
+.Sp
+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.
 .TP
 .I -lib:PATHLIST
 Each path specified in the comma-separated list will direct the
@@ -151,7 +171,7 @@ Disables the default compiler configuration to be loaded.  The
 compiler by default has references to the system assemblies. 
 .TP
 .I \-nowarn:WARNLIST
-Makes the compiler ignore warnings specified in the comma-separeted
+Makes the compiler ignore warnings specified in the comma-separated
 list WARNLIST>
 .TP
 .I -optimize, -optimize+, -optimize-
@@ -179,7 +199,7 @@ This is typically used with third party components, like this:
 .I \-pkg:dotnet
 This will instruct the compiler to reference the System.* libraries
 available on a typical dotnet framework installation, notice that this
-does not include all of the Mono libraies, only the System.* ones.  This
+does not include all of the Mono libraries, only the System.* ones.  This
 is a convenient shortcut for those porting code.
 .TP
 .I -resource:RESOURCE[,ID]
@@ -202,7 +222,7 @@ comma.
 .TP
 .I \-recurse:PATTERN, --recurse PATTERN
 Does recursive compilation using the specified pattern.  In Unix the
-shell will perform globbing, so you migth want to use it like this:
+shell will perform globbing, so you might want to use it like this:
 .PP
 .nf
                $ mcs -recurse:'*.cs' 
@@ -289,27 +309,28 @@ compiler specific code.   Please note that this symbol is only to test
 for the compiler, and is not useful to distinguish compilation or
 deployment platforms.
 .SH AUTHORS
-The Mono C# Compiler was written by Miguel de Icaza, Ravi Pratap and
-Martin Baulig at Ximian.
+The Mono C# Compiler was written by Miguel de Icaza, Ravi Pratap,
+Martin Baulig, Marek Safar and Raja Harinath.  The development was
+funded by Ximian, Novell and Marek Safar.
 .PP
 .SH LICENSE
 The Mono Compiler Suite is released under the terms of the GNU GPL.
 Please read the accompanying `COPYING' file for details.  Alternative
-licenses are available from Ximian.
+licensing for the compiler is available from Novell.
 .PP
 .SH SEE ALSO
 mono(1), mint(1), sn(1)
 .PP
 .SH BUGS
-To report bugs in the compiler, you can use `bug-buddy', or you can
-file bug reports in our bug tracking system:
-http://bugzilla.ximian.com.
+To report bugs in the compiler, you must file them on our bug tracking
+system, at:
+http://www.mono-project.com/Bugs 
 .SH MAILING LIST
-The Mono Mailing List is available at: mono-list-request@ximian.com
+The Mono Mailing lists are listed at http://www.mono-project.com/Mailing_Lists
 .SH MORE INFORMATION
-The Mono C# compiler is developed by Ximian, Inc
-(http://www.ximian.com) (http://www.ximian.com) and is based on the
+The Mono C# compiler was developed by Novell, Inc
+(http://www.novell.com, http) and is based on the
 ECMA C# language standard available here:
 http://www.ecma.ch/ecma1/STAND/ecma-334.htm
-
-
+.PP
+The home page for the Mono C# compiler is at http://www.mono-project.com/CSharp_Compiler
\ No newline at end of file