rust/man/rustc.1
2012-01-30 19:02:20 -08:00

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.