.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 \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 \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 \fR Write output to .TP \fB--opt-level \fR Optimize with possible levels 0-3 .TP \fB--out-dir \fR Write output to compiler-chosen filename in .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 \fR Override the system root .TP \fB--test\fR Build test harness .TP \fB--target \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.