X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=man%2Fmcs.1;h=da5b9323d82d2e213655f6506caf46ab30e633d1;hb=83569e1ef07325ec30b00d3e2b955718f210e608;hp=19e1d12ea2b65dff5b60642e5a14cd47be953b6b;hpb=f8ffff9e76a888548b9e0094490e08e9793cd182;p=mono.git diff --git a/man/mcs.1 b/man/mcs.1 index 19e1d12ea2b..da5b9323d82 100644 --- a/man/mcs.1 +++ b/man/mcs.1 @@ -1,6 +1,6 @@ .TH mcs 1 "6 January 2001" .SH NAME -mcs, gmcs \- Mono C# Compiler (1.0 and 2.0) +mcs, gmcs, smcs \- Mono C# Compiler (1.0, 2.0, Moonlight) .SH SYNOPSIS .B mcs [option] [source-files] @@ -14,11 +14,23 @@ prepending the @ symbol to the response file name. 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 +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.x profile and implements +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 @@ -144,10 +156,15 @@ Instruct compiler to use the latest version. Equivalent is to omit the switch (this currently defaults to the C# 2.0 language specification). .TP .I "ISO-1" -Restrict compiler to use only ISO standardized features. +Restrict compiler to use only first ISO standardized features. The usage of features such as generics, static classes, anonymous methods will lead to error. .TP +.I "ISO-2" +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 "linq" This enables the C# 3.0 support. Only a few features of C# 3.0 have been implemented in the Mono C# compiler, so not everything is @@ -204,9 +221,11 @@ compile the code. .Sp This is typically used with third party components, like this: .nf + $ mcs -pkg:gtk-sharp demo.cs .fi -.TP +.RS +.ne 8 .TP .I \-pkg:dotnet This will instruct the compiler to reference the System.* libraries @@ -214,9 +233,32 @@ available on a typical dotnet framework installation, notice that this does not include all of the Mono libraries, only the System.* ones. This is a convenient shortcut for those porting code. .TP -.TP .I \-pkg:olive -Use this to reference the "Olive" libraries (the 3.0 and 3.5 extended libraries). +Use this to reference the "Olive" libraries (the 3.0 and 3.5 extended +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. +.TP +.I \-pkg:silverdesktop +Use this option to create Moonlight/Silverlight applications that +target the desktop. This option allows developers to consume the +Silverlight APIs with the full 2.0 profile API available to them, +unlike +.I smcs +it gives full access to all the APIs that are part of Mono. The only +downside is that applications created with silverdesktop will not run +on the browser. Typically these applications will be launched +with the +.I mopen +command line tool. +.ne +.RE .TP .I -resource:RESOURCE[,ID] Embeds to the given resource file. The optional ID can be used to @@ -313,17 +355,15 @@ Note that the effect of defining TRACE and DEBUG is a global setting, even if they are only defined in a single file. .PP .SH DEBUGGING SUPPORT -When use the "--debug" or "-g" flag, MCS will create an assembler file -FILE-debug.s containing debugging information where FILE is the name of -the generated assembly. You need to run this file through the assembler -to get a object file FILE-debug.o. See mono's "--dwarf-plus" argument -for details on how to use this file. +When using the "-debug" flag, MCS will generate a file with the +extension .mdb that contains the debugging information for the +generated assembly. This file is consumed by the Mono debugger (mdb). .SH NOTES During compilation the MCS compiler defines the __MonoCS__ symbol, this can be used by pre-processor instructions to compile Mono C# 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. +deployment platforms. .SH AUTHORS The Mono C# Compiler was written by Miguel de Icaza, Ravi Pratap, Martin Baulig, Marek Safar and Raja Harinath. The development was @@ -335,7 +375,7 @@ Please read the accompanying `COPYING' file for details. Alternative licensing for the compiler is available from Novell. .PP .SH SEE ALSO -mono(1), mint(1), sn(1) +mdb(1), mono(1), mopen(1), mint(1), sn(1) .PP .SH BUGS To report bugs in the compiler, you must file them on our bug tracking