Skip to content

Commit 0049fe6

Browse files
committed
Edit invocation
1 parent dc47b51 commit 0049fe6

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/overview.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,19 @@ we'll talk about that later.
105105
low-level types and annotations added. (e.g. an ELF object or wasm).
106106
- The different libraries/binaries are linked together to produce the final
107107
binary.
108+
### Invocation
109+
110+
Compilation begins when a user writes a Rust source program in text
111+
and invokes the `rustc` compiler on it. The work that the compiler needs to
112+
perform is defined by command-line options. For example, it is possible to
113+
enable nightly features (`-Z` flags), perform `check`-only builds, or emit
114+
LLVM-IR rather than executable machine code. The `rustc` executable call may
115+
be indirect through the use of `cargo`.
116+
117+
Command line argument parsing occurs in the [`rustc_driver`]. This crate
118+
defines the compile configuration that is requested by the user and passes it
119+
to the rest of the compilation process as a [`rustc_interface::Config`].
120+
108121

109122
[String interning]: https://en.wikipedia.org/wiki/String_interning
110123
[`rustc_lexer`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lexer/index.html

0 commit comments

Comments
 (0)