You've already forked linux-packaging-mono
Imported Upstream version 5.8.0.22
Former-commit-id: df344e34b07851d296efb3e6604c8db42b6f7aa3
This commit is contained in:
parent
5f4a27cc8a
commit
7d05485754
@@ -162,6 +162,7 @@ AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BOEHM_DEFINES = @BOEHM_DEFINES@
|
||||
BREAKPOINT = @BREAKPOINT@
|
||||
BTLS_ARCH = @BTLS_ARCH@
|
||||
BTLS_CFLAGS = @BTLS_CFLAGS@
|
||||
BTLS_CMAKE_ARGS = @BTLS_CMAKE_ARGS@
|
||||
@@ -202,12 +203,27 @@ EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GDKX11 = @GDKX11@
|
||||
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||
GINT_TO_POINTER = @GINT_TO_POINTER@
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GMSGFMT_015 = @GMSGFMT_015@
|
||||
GNUC_NORETURN = @GNUC_NORETURN@
|
||||
GNUC_PRETTY = @GNUC_PRETTY@
|
||||
GNUC_UNUSED = @GNUC_UNUSED@
|
||||
GPOINTER_TO_INT = @GPOINTER_TO_INT@
|
||||
GPOINTER_TO_UINT = @GPOINTER_TO_UINT@
|
||||
GREP = @GREP@
|
||||
GSIZE = @GSIZE@
|
||||
GSIZE_FORMAT = @GSIZE_FORMAT@
|
||||
GTKX11 = @GTKX11@
|
||||
GUINT_TO_POINTER = @GUINT_TO_POINTER@
|
||||
G_GINT32_FORMAT = @G_GINT32_FORMAT@
|
||||
G_GINT64_FORMAT = @G_GINT64_FORMAT@
|
||||
G_GUINT32_FORMAT = @G_GUINT32_FORMAT@
|
||||
G_GUINT64_FORMAT = @G_GUINT64_FORMAT@
|
||||
G_HAVE_ISO_VARARGS = @G_HAVE_ISO_VARARGS@
|
||||
HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
|
||||
HAVE_MSGFMT = @HAVE_MSGFMT@
|
||||
HOST_CC = @HOST_CC@
|
||||
INSTALL = @INSTALL@
|
||||
@@ -252,6 +268,8 @@ NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
ORDER = @ORDER@
|
||||
OS = @OS@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
@@ -261,15 +279,19 @@ PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATHSEP = @PATHSEP@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PIDTYPE = @PIDTYPE@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PLATFORM_AOT_SUFFIX = @PLATFORM_AOT_SUFFIX@
|
||||
RANLIB = @RANLIB@
|
||||
SEARCHSEP = @SEARCHSEP@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SGEN_DEFINES = @SGEN_DEFINES@
|
||||
SHARED_CFLAGS = @SHARED_CFLAGS@
|
||||
SHELL = @SHELL@
|
||||
SIZEOF_VOID_P = @SIZEOF_VOID_P@
|
||||
SQLITE = @SQLITE@
|
||||
SQLITE3 = @SQLITE3@
|
||||
STRIP = @STRIP@
|
||||
@@ -342,6 +364,7 @@ mkdir_p = @mkdir_p@
|
||||
mono_build_root = @mono_build_root@
|
||||
mono_cfg_dir = @mono_cfg_dir@
|
||||
mono_runtime = @mono_runtime@
|
||||
ninja = @ninja@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
|
||||
23
man/mcs.1
23
man/mcs.1
@@ -4,26 +4,27 @@
|
||||
..
|
||||
.TH mcs 1 "6 January 2001"
|
||||
.SH NAME
|
||||
mcs \- Mono C# Compiler
|
||||
mcs \- Turbo C# Compiler
|
||||
.SH SYNOPSIS
|
||||
.B mcs
|
||||
[option] [source-files]
|
||||
.SH DESCRIPTION
|
||||
mcs is the Mono C# compiler, an implementation of the ECMA-334
|
||||
language specification. You can pass one or more options to drive the
|
||||
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.
|
||||
mcs is the Turbo C# compiler (also known as the Mono C# compiler), it
|
||||
is an implementation of the ECMA-334 language specification. You can
|
||||
pass one or more options to drive the 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
|
||||
.I mcs
|
||||
compiler is used to compile against the latest Mono Base Class Library
|
||||
version and fully implements C# 1.0, 2.0, 3.0, 4.0, 5.0 and 6.0
|
||||
specifications.
|
||||
specifications with partial support for C# 7.0.
|
||||
.PP
|
||||
See the section on packages for more information.
|
||||
.PP
|
||||
The Mono C# compiler accepts the same command line options that the
|
||||
The Turbo 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
|
||||
@@ -37,13 +38,13 @@ for partial compilation. To achieve the benefits of partial
|
||||
compilation, you should compile programs into their own assemblies,
|
||||
and later reference them with the "-r" flag.
|
||||
.PP
|
||||
The Mono C# compiler generates images (.exe files) that contain CIL
|
||||
The Turbo C# compiler generates images (.exe files) that contain CIL
|
||||
byte code that can be executed by any system that implements a Common
|
||||
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:
|
||||
The Turbo 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.
|
||||
@@ -53,7 +54,7 @@ use the -pkg:dotnet command line option.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.I \-\-about
|
||||
Displays information about the Mono C# compiler
|
||||
Displays information about the Turbo C# compiler
|
||||
.TP
|
||||
.I \-\-addmodule:MODULE1[,MODULE2]
|
||||
Includes the specified modules in the resulting assembly. Modules are
|
||||
|
||||
@@ -177,7 +177,9 @@ same as for the compiler -lib: or -L flags.
|
||||
Embeds the dynamic library file pointed to by `PATH' and optionally
|
||||
give it the name `LIB' into the bundled executable. This is used to
|
||||
ship native library dependencies that are unpacked at startup and
|
||||
loaded from the runtime.
|
||||
loaded from the runtime. Multiple libraries should be specified in
|
||||
dependency order, where later ones on the command line depend on
|
||||
earlier ones.
|
||||
.TP
|
||||
.I "--lists-targets"
|
||||
Lists all of the available local cross compilation targets available
|
||||
|
||||
85
man/mono.1
85
man/mono.1
@@ -300,7 +300,7 @@ mono_aot_register_module (mono_aot_module_hello_info);
|
||||
.I stats
|
||||
Print various stats collected during AOT compilation.
|
||||
.TP
|
||||
.I temp_path=[path]
|
||||
.I temp-path=[path]
|
||||
Explicitly specify path to store temporary files created during AOT compilation.
|
||||
.TP
|
||||
.I threads=[number]
|
||||
@@ -908,52 +908,11 @@ your profiler.
|
||||
For a sample of how to write your own custom profiler look in the
|
||||
Mono source tree for in the samples/profiler.c.
|
||||
.SH CODE COVERAGE
|
||||
Mono ships with a code coverage module. This module is activated by
|
||||
using the Mono --profile=cov option. The format is:
|
||||
\fB--profile=cov[:assembly-name[/namespace]] test-suite.exe\fR
|
||||
.PP
|
||||
By default code coverage will default to all the assemblies loaded,
|
||||
you can limit this by specifying the assembly name, for example to
|
||||
perform code coverage in the routines of your program use, for example
|
||||
the following command line limits the code coverage to routines in the
|
||||
"demo" assembly:
|
||||
.nf
|
||||
|
||||
mono --profile=cov:demo demo.exe
|
||||
|
||||
.fi
|
||||
.PP
|
||||
Notice that the
|
||||
.I assembly-name
|
||||
does not include the extension.
|
||||
.PP
|
||||
You can further restrict the code coverage output by specifying a
|
||||
namespace:
|
||||
.nf
|
||||
|
||||
mono --profile=cov:demo/My.Utilities demo.exe
|
||||
|
||||
.fi
|
||||
.PP
|
||||
Which will only perform code coverage in the given assembly and
|
||||
namespace.
|
||||
.PP
|
||||
Typical output looks like this:
|
||||
.nf
|
||||
|
||||
Not covered: Class:.ctor ()
|
||||
Not covered: Class:A ()
|
||||
Not covered: Driver:.ctor ()
|
||||
Not covered: Driver:method ()
|
||||
Partial coverage: Driver:Main ()
|
||||
offset 0x000a
|
||||
|
||||
.fi
|
||||
.PP
|
||||
The offsets displayed are IL offsets.
|
||||
.PP
|
||||
A more powerful coverage tool is available in the module `monocov'.
|
||||
See the monocov(1) man page for details.
|
||||
Mono ships with a code coverage module in the \f[I]coverage\f[] profiler.
|
||||
To enable it, pass \fB--profile=coverage\fR to your mono invocation. It
|
||||
will by default output a coverage.xml in the current directory. Use
|
||||
\fBmono --profile=coverage:help sample.exe\fR for more information on the
|
||||
different options.
|
||||
.SH AOT PROFILING
|
||||
You can improve startup performance by using the AOT profiler.
|
||||
.PP
|
||||
@@ -1101,11 +1060,6 @@ code generation backend. For example \fBLLVM_COUNT=10\fR would only
|
||||
compile 10 methods with LLVM and then switch to the Mono JIT engine.
|
||||
\fBLLVM_COUNT=0\fR would disable the LLVM engine altogether.
|
||||
.TP
|
||||
\fBMONO_AOT_CACHE\fR
|
||||
If set, this variable will instruct Mono to ahead-of-time compile new
|
||||
assemblies on demand and store the result into a cache in
|
||||
~/.mono/aot-cache.
|
||||
.TP
|
||||
\fBMONO_ASPNET_INHIBIT_SETTINGSMAP\fR
|
||||
Mono contains a feature which allows modifying settings in the .config files shipped
|
||||
with Mono by using config section mappers. The mappers and the mapping rules are
|
||||
@@ -1314,10 +1268,19 @@ first generation (of two). A larger nursery will usually speed up the
|
||||
program but will obviously use more memory. The default nursery size
|
||||
4 MB.
|
||||
.TP
|
||||
\fBmajor=\fIcollector\fR Specifies which major collector to use.
|
||||
Options are `marksweep' for the Mark&Sweep collector, and
|
||||
`marksweep-conc' for concurrent Mark&Sweep. The non-concurrent
|
||||
Mark&Sweep collector is the default.
|
||||
\fBmajor=\fIcollector\fR
|
||||
Specifies which major collector to use.
|
||||
Options are `marksweep' for the Mark&Sweep collector, `marksweep-conc'
|
||||
for concurrent Mark&Sweep and `marksweep-conc-par' for parallel and
|
||||
concurrent Mark&Sweep. The concurrent Mark&Sweep collector is the default.
|
||||
.TP
|
||||
\fBmode=balanced|throughput|pause\fR[:\fImax-pause\fR]
|
||||
Specifies what should be the garbage collector's target. The `throughput'
|
||||
mode aims to reduce time spent in the garbage collector and improve
|
||||
application speed, the `pause' mode aims to keep pause times to a minimum
|
||||
and it receives the argument \fImax-pause\fR which specifies the maximum
|
||||
pause time in milliseconds that is acceptable and the `balanced' mode
|
||||
which is a general purpose optimal mode.
|
||||
.TP
|
||||
\fBsoft-heap-limit=\fIsize\fR
|
||||
Once the heap size gets larger than this size, ignore what the default
|
||||
@@ -1380,9 +1343,11 @@ more memory when it reaches a stable size.
|
||||
This option is EXPERIMENTAL, so it might disappear in later versions of mono.
|
||||
.TP
|
||||
\fBminor=\fIminor-collector\fR
|
||||
Specifies which minor collector to use. Options are 'simple' which
|
||||
promotes all objects from the nursery directly to the old generation
|
||||
and 'split' which lets object stay longer on the nursery before promoting.
|
||||
Specifies which minor collector to use. Options are `simple' which
|
||||
promotes all objects from the nursery directly to the old generation,
|
||||
`simple-par' which has same promotion behavior as `simple' but using
|
||||
multiple workers and `split' which lets objects stay longer on the nursery
|
||||
before promoting.
|
||||
.TP
|
||||
\fBalloc-ratio=\fIratio\fR
|
||||
Specifies the ratio of memory from the nursery to be use by the alloc space.
|
||||
@@ -2043,7 +2008,7 @@ http://www.mono-project.com/community/help/mailing-lists/
|
||||
http://www.mono-project.com
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
certmgr(1), cert-sync(1), csharp(1), gacutil(1), mcs(1), mdb(1), monocov(1), monodis(1),
|
||||
certmgr(1), cert-sync(1), csharp(1), gacutil(1), mcs(1), mdb(1), monodis(1),
|
||||
mono-config(5), mprof-report(1), pdb2mdb(1), xsp(1), mod_mono(8).
|
||||
.PP
|
||||
For more information on AOT:
|
||||
|
||||
@@ -146,6 +146,9 @@ instruction pointer.
|
||||
This is equivalent to the value \[lq]100\[rq].
|
||||
A value of zero for \f[I]FREQ\f[] effectively disables sampling.
|
||||
.IP \[bu] 2
|
||||
\f[I]heapshot-on-shutdown\f[]: collect heap shot data when the runtime
|
||||
shuts down.
|
||||
.IP \[bu] 2
|
||||
\f[I]maxframes=NUM\f[]: when a stack trace needs to be performed,
|
||||
collect \f[I]NUM\f[] frames at the most.
|
||||
The default is 32.
|
||||
@@ -180,16 +183,15 @@ with the current process id and \f[I]%t\f[] with the current date
|
||||
and time, then do according to \f[I]OUTSPEC\f[]:
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
if \f[I]OUTSPEC\f[] begins with a \f[I]|\f[] character, execute the
|
||||
rest as a program and feed the data to its standard input
|
||||
If \f[I]OUTSPEC\f[] begins with a \f[I]|\f[] character, execute the
|
||||
rest as a program and feed the data to its standard input.
|
||||
.IP \[bu] 2
|
||||
if \f[I]OUTSPEC\f[] begins with a \f[I]-\f[] character, use the
|
||||
rest of OUTSPEC as the filename, but force overwrite any existing
|
||||
file by that name
|
||||
If \f[I]OUTSPEC\f[] begins with a \f[I]#\f[] character, parse the
|
||||
rest as a file descriptor number, and feed the data to this file
|
||||
descriptor.
|
||||
.IP \[bu] 2
|
||||
otherwise write the data the the named file: note that is a file by
|
||||
that name already exists, a warning is issued and profiling is
|
||||
disabled.
|
||||
that name already exists, it is truncated.
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
\f[I]report\f[]: the profiling data is sent to mprof-report, which
|
||||
@@ -211,13 +213,6 @@ The following commands are available:
|
||||
.IP \[bu] 2
|
||||
\f[I]nocounters\f[]: disables sampling of runtime and performance
|
||||
counters, which is normally done every 1 second.
|
||||
.IP \[bu] 2
|
||||
\f[I]coverage\f[]: collect code coverage data. This implies enabling
|
||||
the \f[I]calls\f[] option.
|
||||
.IP \[bu] 2
|
||||
\f[I]onlycoverage\f[]: can only be used with \f[I]coverage\f[]. This
|
||||
disables most other events so that the profiler mostly only collects
|
||||
coverage data.
|
||||
.RE
|
||||
.SS Analyzing the profile data
|
||||
.PP
|
||||
@@ -340,8 +335,6 @@ version
|
||||
.IP \[bu] 2
|
||||
\f[I]counters\f[]: counters samples
|
||||
.IP \[bu] 2
|
||||
\f[I]coverage\f[]: code coverage data
|
||||
.IP \[bu] 2
|
||||
\f[I]stats\f[]: event statistics
|
||||
.PP
|
||||
It is possible to limit some of the data displayed to a timeframe
|
||||
@@ -413,13 +406,6 @@ By default mprof-report will print the summary data to the console.
|
||||
To print it to a file, instead, use the option:
|
||||
.PP
|
||||
\f[B]--out=FILENAME\f[]
|
||||
.SS Processing code coverage data
|
||||
.PP
|
||||
If you ran the profiler with the \f[I]coverage\f[] option, you can
|
||||
process the collected coverage data into an XML file by running
|
||||
mprof-report like this:
|
||||
.PP
|
||||
\f[B]mprof-report --coverage-out=coverage.xml output.mlpd\f[]
|
||||
.SS Dealing with profiler slowness
|
||||
.PP
|
||||
If the profiler needs to collect lots of data, the execution of the
|
||||
|
||||
Reference in New Issue
Block a user