2004-02-25 Marek Safar <marek.safar@seznam.cz>
[mono.git] / man / mcs.1
index 0d13160e605848b318b50e7ca9c560293b20c2cc..e135642da1207385554c6629d7d4b4d7b6404e56 100755 (executable)
--- a/man/mcs.1
+++ b/man/mcs.1
@@ -36,6 +36,9 @@ Executables are not bound to a specific CPU or operating system.
 .I \-\-about
 Displays information about the Mono C# compiler
 .TP
+.I \-\-addmodule:MODULE1[,MODULE2]
+Includes the specified modules in the resulting assembly.  
+.TP
 .I -checked, -checked+
 Sets the default compilation mode to `checked'.  This makes all
 the math operations checked (the default is unchecked).
@@ -44,6 +47,14 @@ the math operations checked (the default is unchecked).
 Sets the default compilation mode to `unchecked'.  This makes all
 the math operations unchecked (this is the default).
 .TP
+.I -codepage:ID
+Specifies the code page used to process the input files from the
+point it is specified on.  By default files will be processed in the
+Latin-1 code page.  The compiler will also automatically detect
+Unicode files that have an embedded byte mark at the beginning.   The
+special ID "utf8" can be used to switch to utf8 and the ID "reset"
+restores the automatic handling of code pages.
+.TP
 .I \-define:SYMLIST, -d:SYMLIST
 Defines the symbol listed by the semi-colon separeted list SYMLIST
 SYMBOL.  This can be tested in the source code by the pre-processor,
@@ -51,11 +62,18 @@ or can be used by methods that have been tagged with the Conditional
 attribute. 
 .TP
 .I \-debug, \-debug+, \-g
-Generate debugging information.  
+Generate debugging information.  To obtain stack traces with debugging
+information, you need to invoke the mono runtime with the `--debug'
+flag.  This debugging information is stored inside the assembly as a
+resource.
 .TP
 .I \-debug-
 Do not generate debugging information.
 .TP
+.I \-\-expect-error X L
+The compiler will expect the code to generate an error 
+named `X' in line `L'.  This is only used by the test suite.
+.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.
@@ -90,15 +108,23 @@ Names the output file to be generated.
 .I \-\-parse
 Used for benchmarking.  The compiler will only parse its input files.
 .TP
-.I \-\-probe X L
-Probes for the code to generate an error named `X' in line `L'.  This
-is only used by the test suite.
-.TP 
-.I /resource:RESOURCE
-Embeds to the given resource file.
+.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
+name will be the file name.
+.TP
+.I -linkresource:RESOURCE[,ID]
+Links to the specified RESOURCE.  The optional ID can be used to give
+a name to the linked resource.
 .TP
-.I /linkresource:RESOURCE 
-Links to the given resource file.
+.I -r:ASSEMBLY1[,ASSEMBLY2], \-r ASSEMBLY1[,ASSEMBLY2]
+Reference the named assemblies.  Use this to use classes from the named
+assembly in your program.  The assembly will be loaded from either the
+system directory where all the assemblies live, or from the path
+explicitly given with the -L option.
+.PP
+You can also use a semicolon to separate the assemblies instead of a
+comma. 
 .TP
 .I \-recurse:PATTERN, --recurse PATTERN
 Does recursive compilation using the specified pattern.  In Unix the
@@ -109,8 +135,9 @@ shell will perform globbing, so you migth want to use it like this:
 .fi
 .TP
 .I \-target:KIND, \-t:KIND
-Used to specify the desired target.  The possible values are: exe,
-winexe, library and module.  
+Used to specify the desired target.  The possible values are: exe
+(plain executable), winexe (Windows.Forms executable), library
+(component libraries) and module (partial library).
 .TP
 .I \-\-timestamp
 Another debugging flag.  Used to display the times at various points
@@ -119,6 +146,15 @@ in the compilation process.
 .I \-unsafe, -unsafe+
 Enables compilation of unsafe code.
 .TP
+.I \-v 
+Debugging. Turns on verbose yacc parsing.
+.TP
+.I \-v2
+Turns on C# 2.0 language features.
+.TP
+.I \-\-version
+Shows the compiler version.
+.TP
 .I \-warnaserror, \-warnaserror+
 Treat warnings as errors.
 .TP
@@ -126,14 +162,13 @@ Treat warnings as errors.
 Sets the warning level.  0 is the lowest warning level, and 4 is the
 highest.  The default is 2.
 .TP
-.I -r:ASSEMBLY, \-r ASSEMBLY
-Reference the named assembly.  Use this to use classes from the named
-assembly in your program.  The assembly will be loaded from either the
-system directory where all the assemblies live, or from the path
-explicitly given with the -L option.
+.I \-win32res:FILE
+Specifies a Win32 resource file (.res) to be bundled into the
+resulting assembly.
 .TP
-.I \-v 
-Debugging. Turns on verbose yacc parsing.
+.I \-win32icon:FILE
+Attaches the icon specified in FILE on the output into the resulting
+assembly.
 .TP
 .I \-\-
 Use this to stop option parsing, and allow option-looking parameters
@@ -172,7 +207,9 @@ for details on how to use this file.
 .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.
+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.