rust/src/README.md

44 lines
3.2 KiB
Markdown
Raw Normal View History

This is a preliminary version of the Rust compiler, libraries and tools.
Source layout:
| `librustc/` | The self-hosted compiler |
| `libstd/` | The standard library (imported and linked by default) |
| `libextra/` | The "extras" library (slightly more peripheral code) |
| `libsyntax/` | The Rust parser and pretty-printer |
| ------------------- | --------------------------------------------------------- |
| `rt/` | The runtime system |
| `rt/rust_*.c` | - The majority of the runtime services |
| `rt/isaac` | - The PRNG used for pseudo-random choices in the runtime |
| `rt/bigint` | - The bigint library used for the 'big' type |
| `rt/uthash` | - Small hashtable-and-list library for C, used in runtime |
| `rt/sync` | - Concurrency utils |
| `rt/util` | - Small utility classes for the runtime. |
| `rt/vg` | - Valgrind headers |
| `rt/msvc` | - MSVC support |
| ------------------- | --------------------------------------------------------- |
| `test/` | Testsuite |
| `test/compile-fail` | - Tests that should fail to compile |
| `test/run-fail` | - Tests that should compile, run and fail |
| `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 |
| ------------------- | --------------------------------------------------------- |
| `compiletest/` | The test runner |
| ------------------- | --------------------------------------------------------- |
| `librustpkg/` | The package manager and build system |
| ------------------- | --------------------------------------------------------- |
| `librustdoc/` | The Rust API documentation tool |
| ------------------- | --------------------------------------------------------- |
| `llvm/` | The LLVM submodule |
| ------------------- | --------------------------------------------------------- |
| `libuv/` | The libuv submodule |
| ------------------- | --------------------------------------------------------- |
| `rustllvm/` | LLVM support code |
| ------------------- | --------------------------------------------------------- |
| `libfuzzer/` | A collection of fuzz testers |
| ------------------- | --------------------------------------------------------- |
| `etc/` | Scripts, editors support, misc |