Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / man / lc.1
1 .\" 
2 .\" lc manual page.
3 .\" (C) 2009 Carlo Kok
4 .\"  
5 .\" Author:
6 .\"   Carlo Kok (ck@remobjects.com)
7 .\"
8 .de Sp \" Vertical space (when we can't use .PP)
9 .if t .sp .5v
10 .if n .sp
11 ..
12 .TH Mono "lc"
13 .SH NAME
14 lc \- Mono License Compiler
15 .SH SYNOPSIS
16 .PP
17 .B lc -c filename -t targetassembly [-i reference...] [-v] [-o outputpath] [-nologo]
18 .SH DESCRIPTION
19 \fIlc\fP tool is a license compiler for Mono. It's used to convert a 
20 licenses.licx file to a resource that can be embedded into an executable. 
21 .PP
22 When using commercial components for .NET they often require a license
23 resource at runtime to make sure the developer was licensed to use this 
24 control. The most common way of making sure the component was properly
25 licensed is by using license resources. At compile time the developer
26 uses the \fIlc\fP tool to convert a licenses.licx file to a 
27 programname.exe.licenses file and embed that as a managed resource
28 during compilation.
29 .SH RUNTIME OPTIONS
30 The following options are available:
31 .TP
32 \fB--complist=filename\fR, \fB-c filename\fR
33 This option is used to specify the input file, the licenses.licx file
34 to create a license reesource for. This option is required. The license 
35 compiler will read each line in this file and try to load the types
36 specified on that line.
37 .TP
38 \fB--target=assemblyname\fR, \fB-t targetassembly\fR
39 full assembly name with file extension for the target assembly. The
40 license compiler uses this as a key when compiling the licenses. It
41 has to match the assembly the resource will be embedded in. This option
42 is required.
43 .TP
44 \fB--load=reference\fR, \fB-i reference\fR
45 Assembly reference to load before trying to compile a license. This
46 option is needed for assemblies where the references are not in the 
47 gac. Compilers should pass all references to the license compiler.
48 .TP
49 \fB--verbose,\fR, \fB-v\fR
50 Gives more verbose output about the license compiling process.
51 .TP
52 \fB--help\fR, \fB-h\fR
53 Displays usage instructions.
54 .TP
55 \fB--outdir=path\fR, \fB-o path\fR
56 Target path file the licenses resource. By default the license
57 compiler emits the resource in the current directory. The filename
58 will always match the target assembly passed to --target with .licenses 
59 added.
60 .TP
61 \fB--nologo\fR
62 Do not emit the "Mono License Compiler" logo  on stdout while compilng.
63
64 .SH LICENSE FILES
65 The format for the license files (licenses.licx) is the following:
66 .nf
67         # comment
68         namespace.type, assemblyname
69         namespace.type, full-assemblyname
70 .fi
71 .Sp
72 All lines starting with a # are ignored. the first form requires
73 that the assembly was loaded through the --load,-i option but
74 does not require the full assembly name, only the first part.
75
76 The second form requires the full assembly name including locale,
77 version and publickeytoken.
78
79 .SH MAILING LISTS
80 Mailing lists are listed at the
81 http://www.mono-project.com/community/help/mailing-lists/
82 .SH WEB SITE
83 http://www.mono-project.com
84 .SH SEE ALSO
85 .PP
86 mono(1), mcs(1)
87