|
| 1 | +This is a preliminary version of the Rust compiler, libraries and tools. |
| 2 | + |
| 3 | +Source layout: |
| 4 | + |
| 5 | +| Path | Description | |
| 6 | +| ------------------- | --------------------------------------------------------- | |
| 7 | +| `librustc/` | The self-hosted compiler | |
| 8 | +| `liballoc/` | Rust's core allocation library | |
| 9 | +| `libcore/` | The Rust core library | |
| 10 | +| `libdebug/` | Debugging utilities | |
| 11 | +| `libstd/` | The standard library (imported and linked by default) | |
| 12 | +| `libsyntax/` | The Rust parser and pretty-printer | |
| 13 | +| `libtest/` | Rust's test-runner code | |
| 14 | +| ------------------- | --------------------------------------------------------- | |
| 15 | +| `libarena/` | The arena (a fast but limited) memory allocator | |
| 16 | +| `libbacktrace/` | The libbacktrace library | |
| 17 | +| `libcollections/` | A collection of useful data structures and containers | |
| 18 | +| `libflate/` | Simple compression library | |
| 19 | +| `libfmt_macros/` | Macro support for format strings | |
| 20 | +| `libfourcc/` | Data format identifier library | |
| 21 | +| `libgetopts/` | Get command-line-options library | |
| 22 | +| `libglob/` | Unix glob patterns library | |
| 23 | +| `libgraphviz/` | Generating files for Graphviz | |
| 24 | +| `libhexfloat/` | Hexadecimal floating-point literals | |
| 25 | +| `liblibc/` | Bindings for the C standard library | |
| 26 | +| `liblog/` | Utilities for program-wide and customizable logging | |
| 27 | +| `libnum/` | Extended number support library (complex, rational, etc) | |
| 28 | +| `librand/` | Random numbers and distributions | |
| 29 | +| `libregex/` | Regular expressions | |
| 30 | +| `libregex_macros/` | The regex! syntax extension | |
| 31 | +| `libsemver/` | Rust's semantic versioning library | |
| 32 | +| `libserialize/` | Encode-Decode types library | |
| 33 | +| `libsync/` | Concurrency mechanisms and primitives | |
| 34 | +| `libterm/` | ANSI color library for terminals | |
| 35 | +| `libtime/` | Time operations library | |
| 36 | +| `liburl/` | URL handling lirary | |
| 37 | +| `libuuid/` | UUID's handling code | |
| 38 | +| ------------------- | --------------------------------------------------------- | |
| 39 | +| `rt/` | The runtime system | |
| 40 | +| `rt/rust_*.c` | - Some of the runtime services | |
| 41 | +| `rt/vg` | - Valgrind headers | |
| 42 | +| `rt/msvc` | - MSVC support | |
| 43 | +| `rt/sundown` | - The Markdown library used by rustdoc | |
| 44 | +| ------------------- | --------------------------------------------------------- | |
| 45 | +| `compiletest/` | The test runner | |
| 46 | +| `test/` | Testsuite | |
| 47 | +| `test/codegen` | - Tests for the LLVM IR infrastructure | |
| 48 | +| `test/compile-fail` | - Tests that should fail to compile | |
| 49 | +| `test/debug-info` | - Tests for the `debuginfo` tool | |
| 50 | +| `test/run-fail` | - Tests that should compile, run and fail | |
| 51 | +| `test/run-make` | - Tests that depend on a Makefile infrastructure | |
| 52 | +| `test/run-pass` | - Tests that should compile, run and succeed | |
| 53 | +| `test/bench` | - Benchmarks and miscellaneous | |
| 54 | +| `test/pretty` | - Pretty-printer tests | |
| 55 | +| `test/auxiliary` | - Dependencies of tests | |
| 56 | +| ------------------- | --------------------------------------------------------- | |
| 57 | +| `librustdoc/` | The Rust API documentation tool | |
| 58 | +| ------------------- | --------------------------------------------------------- | |
| 59 | +| `llvm/` | The LLVM submodule | |
| 60 | +| `rustllvm/` | LLVM support code | |
| 61 | +| ------------------- | --------------------------------------------------------- | |
| 62 | +| `etc/` | Scripts, editors support, misc | |
| 63 | + |
| 64 | + |
| 65 | +NOTE: This list (especially the second part of the table which contains modules and libraries) |
| 66 | +is highly volatile and subject to change. |
0 commit comments