253242390c
This commit is a follow up of Issue #1147. Althought there are some inconsistency about this naming convention in LLVM. For example, `clang' write LLVM assembly to a file with ".s" suffix, while both `llvm-dis' and `opt' write to files with ".ll" suffices. We think ".ll" makes more sense. Also rustc manual page is updated.
137 lines
4.0 KiB
Groff
137 lines
4.0 KiB
Groff
.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--no-typestate\fR:
|
|
Disable the typestate pass. This breaks some safety
|
|
guarantees of the language and is quite dangerous.
|
|
.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
|
|
<\fIgraydon@mozilla.com\fR> is the project leader.
|
|
.SH "COPYRIGHT"
|
|
See \fBLICENSE.txt\fR in the rust source distribution.
|