forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrustc.1
132 lines (132 loc) · 3.87 KB
/
rustc.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
.TH RUSTC "1" "October 2011" "Rust" "User Commands"
.SH NAME
rustc \- rust compiler
.SH SYNOPSIS
rustc [\fB-h\fR] [\fB-v\fR] [\fB-o\fR \fIoutfile\fR]
[\fB--lib\fR] [\fB--static\fR] [\fB-L\fR \fIpath\fR]
[\fB-g\fR] [\fB-S\fR] [\fB-c\fR] <\fIinput\fR>
.PP
Only the most commonly-used options are listed here. All options are listed and
described below.
.SH DESCRIPTION
This program is a compiler for the Rust language, available at
<\fBhttps://github.com/graydon/rust\fR>.
.SH OPTIONS
.TP
\fB-h, --help\fR:
Display help.
.TP
\fB-v, --version\fR:
Display version information.
.TP
\fB-o\fR \fIfilename\fR:
Write output to \fIfilename\fR. The default
output filename for \fBfoo.rs\fR is otherwise \fBfoo\fR plus any
platform-specific extension (when compiling a binary), a
platform-specific name, e.g. \fBlibfoo.so\fR (when compiling a
library), \fBfoo.o\fR (when using \fB-c\fR), \fBfoo.s\fR (when using
\fB-S\fR) or \fBfoo.bc\fR (when using \fB--emit-llvm\fR), and \fBfoo.ll\fR
(when using both \fB-S\fR and \fB--emit-llvm\fR).
.TP
\fB--lib\fR:
Compile and link a library crate into a shared object.
.TP
\fB--static\fR:
Produce a statically-linked binary, or generate a static
library.
.TP
\fB--pretty\fR \fI[type]\fR:
Pretty-print the input. Valid \fItype\fRs are:
.RS
.TP
\fBnormal\fR: Un-annotated source (default).
.TP
\fBexpanded\fR: Crates expanded.
.TP
\fBtyped\fR: Crates expanded, all expressions annotated with types.
.TP
\fBidentified\fR: Fully parenthesized, ast nodes and blocks annotated with IDs.
.RE
.TP
\fB--ls\fR:
Lists symbols defined by the specified \fBcompiled\fR library.
.TP
\fB-L\fR \fIpath\fR:
Adds \fIpath\fR to the library search path.
.TP
\fB--noverify\fR:
Disables LLVM verification pass, which does sanity checking of
bitcode generated by rustc. Using this option gives a slight speedup, at the
cost of vastly reduced ability to catch rustc bugs. See
<\fBhttp://llvm.org/docs/Passes.html\fR> for a list of properties checked.
.TP
\fB--parse-only\fR:
Run the parse phase only. If parsing succeeds, produces no
output.
.TP
\fB--no-trans\fR:
Run all passes except translation. Produces no output.
.TP
\fB-g\fR:
Produce debug info.
.TP
\fB--opt-level\fR \fIlevel\fR:
Set optimization level to \fIlevel\fR.
.TP
\fB-O\fR:
Equal to --opt-level=2
.TP
\fB-S\fR:
Compile to assembly, but do not assemble or link.
.TP
\fB-c\fR:
Compile and assemble, but do not link.
.TP
\fB--emit-llvm\fR:
Generate output files in LLVM format. When used with \fB-S\fR this generate LLVM
intermediate language assembly files, otherwise this generates LLVM bitcode
format object files.
.TP
\fB--save-temps\fR:
For foo.rs, save generated bitcode before optimization to
\fBfoo.bc\fR, bitcode after optimization to \fBfoo.opt.bc\fR, and the generated
object file to \fBfoo.o\fR.
.TP
\fB--stats\fR:
Print statistics about compilation.
.TP
\fB--cfg\fR \fIcfgspec\fR:
Provide a crate config spec.
.TP
\fB--time-passes\fR:
Print runtimes of compilation phases.
.TP
\fB--time-llvm-passes\fR:
Print runtimes of llvm phases.
.TP
\fB--sysroot\fR \fIpath\fR:
Set the system root. Default is the directory above
rustc's.
.TP
\fB--target\fR \fIgnu-config-name\fR:
Set the compilation target, which is a
string of the form \fBcpu\fR-\fBmanufacturer\fR-\fBkernel\fR[-\fBos\fR]. Example
values include "i686-unknown-linux-gnu" and "mips-idt-ecoff"; see
<\fBhttp://sources.redhat.com/autobook/autobook/autobook_17.html\fR>. If not
supplied, the host triple is used (see \fB--version\fR output).
.TP
\fB--test\fR:
Build a test harness.
.TP
\fB--gc\fR:
\fBEXPERIMENTAL\fR. Garbage-collect shared data.
.TP
\fB--stack-growth\fR:
\fBEXPERIMENTAL\fR. Perform stack growth checks.
.SH "BUGS"
See \fBhttps://github.com/graydon/rust/issues\fR for a list of known bugs.
.SH "AUTHOR"
See \fBAUTHORS.txt\fR in the rust source distribution. Graydon Hoare
<\[email protected]\fR> is the project leader.
.SH "COPYRIGHT"
See \fBLICENSE.txt\fR in the rust source distribution.