135 lines
3.2 KiB
Groff
135 lines
3.2 KiB
Groff
.TH RUSTC "1" "January 2012" "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://www.rust-lang.org\fR>.
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
\fB--bin\fR
|
|
Compile an executable crate (default)
|
|
.TP
|
|
\fB-c\fR
|
|
Compile and assemble, but do not link
|
|
.TP
|
|
\fB--cfg <cfgspec>\fR
|
|
Configure the compilation environment
|
|
.TP
|
|
\fB--emit-llvm\fR
|
|
Produce an LLVM bitcode file
|
|
.TP
|
|
\fB-g\fR
|
|
Produce debug info
|
|
.TP
|
|
\fB--gc\fR
|
|
Garbage collect shared data (experimental/temporary)
|
|
.TP
|
|
\fB-h --help\fR
|
|
Display this message
|
|
.TP
|
|
\fB-L <path>\fR
|
|
Add a directory to the library search path
|
|
.TP
|
|
\fB--lib\fR
|
|
Compile a library crate
|
|
.TP
|
|
\fB--ls\fR
|
|
List the symbols defined by a compiled librar crate
|
|
.TP
|
|
\fB--no-asm-comments\fR
|
|
Do not add comments into the assembly source
|
|
.TP
|
|
\fB--no-lint-ctypes\fR
|
|
Suppress warnings for possibly incorrect ctype usage
|
|
.TP
|
|
\fB--no-trans\fR
|
|
Run all passes except translation; no output
|
|
.TP
|
|
\fB--no-verify\fR
|
|
Suppress LLVM verification step (slight speedup)
|
|
(see http://llvm.org/docs/Passes.html for detail)
|
|
.TP
|
|
\fB-O\fR
|
|
Equivalent to --opt-level=2
|
|
.TP
|
|
\fB-o <filename>\fR
|
|
Write output to <filename>
|
|
.TP
|
|
\fB--opt-level <lvl>\fR
|
|
Optimize with possible levels 0-3
|
|
.TP
|
|
\fB--out-dir <dir>\fR
|
|
Write output to compiler-chosen filename in <dir>
|
|
.TP
|
|
\fB--parse-only\fR
|
|
Parse only; do not compile, assemble, or link
|
|
.TP
|
|
\fB--pretty [type]\fR
|
|
Pretty-print the input instead of compiling; valid types are: \fBnormal\fR (un-annotated source), \fBexpanded\fR (crates expanded), \fBtyped\fR (crates expanded, with type annotations), or \fBidentified\fR (fully parenthesized, AST nodes and blocks with IDs)
|
|
.TP
|
|
\fB-S\fR
|
|
Compile only; do not assemble or link
|
|
.TP
|
|
\fB--save-temps\fR
|
|
Write intermediate files (.bc, .opt.bc, .o) in addition to normal output
|
|
.TP
|
|
\fB--static\fR
|
|
Use or produce static libraries or binaries
|
|
.TP
|
|
\fB--stats\fR
|
|
Print compilation statistics
|
|
.TP
|
|
\fB--sysroot <path>\fR
|
|
Override the system root
|
|
.TP
|
|
\fB--test\fR
|
|
Build test harness
|
|
.TP
|
|
\fB--target <triple>\fR
|
|
Target cpu-manufacturer-kernel[-os] to compile for (default: host triple)
|
|
(see http://sources.redhat.com/autobook/autobook/autobook_17.html for detail)
|
|
.TP
|
|
\fB--time-passes\fR
|
|
Time the individual phases of the compiler
|
|
.TP
|
|
\fB--time-llvm-passes\fR
|
|
Time the individual phases of the LLVM backend
|
|
.TP
|
|
\fB-v --version\fR
|
|
Print version info and exit
|
|
.TP
|
|
\fB--warn-unused-imports\fR
|
|
Warn about unnecessary imports
|
|
|
|
.SH "EXAMPLES"
|
|
To build an executable from a source file with a main function:
|
|
$ rustc -o hello hello.rs
|
|
|
|
To build a library from a source file:
|
|
$ rustc --lib hello-lib.rs
|
|
|
|
To build either with a crate (.rc) file:
|
|
$ rustc hello.rc
|
|
|
|
.SH "BUGS"
|
|
See \fBhttps://github.com/mozilla/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.
|
|
|