54abbda9b4
with the new modules that moved from extra, and with other undocumented folders. also add a note about potential changes.
59 lines
4.3 KiB
Markdown
59 lines
4.3 KiB
Markdown
This is a preliminary version of the Rust compiler, libraries and tools.
|
|
|
|
Source layout:
|
|
|
|
| Path | Description |
|
|
| ------------------- | --------------------------------------------------------- |
|
|
| `librustc/` | The self-hosted compiler |
|
|
| `libstd/` | The standard library (imported and linked by default) |
|
|
| `libextra/` | The "extras" library (slightly more peripheral code) |
|
|
| `libgreen/` | The M:N runtime library |
|
|
| `libnative/` | The 1:1 runtime library |
|
|
| `libsyntax/` | The Rust parser and pretty-printer |
|
|
| `libcollections/` | A collection of useful data structures and containers |
|
|
| `libnum/` | Extended number support library (complex, rational, etc) |
|
|
| `libtest/` | Rust's test-runner code |
|
|
| ------------------- | --------------------------------------------------------- |
|
|
| `libarena/` | The arena (a fast but limited) memory allocator |
|
|
| `libflate/` | Simple compression library |
|
|
| `libfourcc/` | Data format identifier library |
|
|
| `libgetopts/` | Get command-line-options library |
|
|
| `libglob/` | Unix glob patterns library |
|
|
| `libsemver/` | Rust's semantic versioning library |
|
|
| `libserialize/` | Encode-Decode types library |
|
|
| `libsync/` | Concurrency mechanisms and primitives |
|
|
| `libterm/` | ANSI color library for terminals |
|
|
| `libtime/` | Time operations library |
|
|
| `libuuid/` | UUID's handling code |
|
|
| ------------------- | --------------------------------------------------------- |
|
|
| `rt/` | The runtime system |
|
|
| `rt/rust_*.c` | - Some of the runtime services |
|
|
| `rt/vg` | - Valgrind headers |
|
|
| `rt/msvc` | - MSVC support |
|
|
| `rt/sundown` | - The Markdown library used by rustdoc |
|
|
| ------------------- | --------------------------------------------------------- |
|
|
| `compiletest/` | The test runner |
|
|
| `test/` | Testsuite |
|
|
| `test/codegen` | - Tests for the LLVM IR infrastructure |
|
|
| `test/compile-fail` | - Tests that should fail to compile |
|
|
| `test/debug-info` | - Tests for the `debuginfo` tool |
|
|
| `test/run-fail` | - Tests that should compile, run and fail |
|
|
| `test/run-make` | - Tests that depend on a Makefile infrastructure |
|
|
| `test/run-pass` | - Tests that should compile, run and succeed |
|
|
| `test/bench` | - Benchmarks and miscellaneous |
|
|
| `test/pretty` | - Pretty-printer tests |
|
|
| `test/auxiliary` | - Dependencies of tests |
|
|
| ------------------- | --------------------------------------------------------- |
|
|
| `librustdoc/` | The Rust API documentation tool |
|
|
| `libuv/` | The libuv submodule |
|
|
| `librustuv/` | Rust libuv support code |
|
|
| ------------------- | --------------------------------------------------------- |
|
|
| `llvm/` | The LLVM submodule |
|
|
| `rustllvm/` | LLVM support code |
|
|
| ------------------- | --------------------------------------------------------- |
|
|
| `etc/` | Scripts, editors support, misc |
|
|
|
|
|
|
NOTE: This list (especially the second part of the table which contains modules and libraries)
|
|
is highly volatile and subject to change.
|