summary refs log tree commit diff
path: root/src/README.md
blob: 0ac310df1b866499fb9dcb3e086213252aa35709 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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.