rust/src
bors 2f79054650 auto merge of #13463 : alexcrichton/rust/c-linkage-oh-my, r=brson
Previously, upstream C libraries were linked in a nondeterministic fashion
because they were collected through iter_crate_data() which is a nodeterministic
traversal of a hash map. When upstream rlibs had interdependencies among their
native libraries (such as libfoo depending on libc), then the ordering would
occasionally be wrong, causing linkage to fail.

This uses the topologically sorted list of libraries to collect native
libraries, so if a native library depends on libc it just needs to make sure
that the rust crate depends on liblibc.
2014-04-13 02:16:54 -07:00
..
compiler-rt@f4b221571c
compiletest auto merge of #13440 : huonw/rust/strbuf, r=alexcrichton 2014-04-10 21:01:41 -07:00
doc doc: Un-ignore lots of guide-ffi tests 2014-04-12 12:18:45 -07:00
driver
etc Improve searching for XXX in tidy script (#3303) 2014-04-08 00:03:12 -07:00
gyp@1e46da1000
libarena libtest: rename BenchHarness to Bencher 2014-04-11 17:31:13 +08:00
libbacktrace
libcollections libtest: rename BenchHarness to Bencher 2014-04-11 17:31:13 +08:00
libflate Remove some internal ~[] from several libraries. 2014-04-10 15:21:58 -07:00
libfourcc Bump version to 0.11-pre 2014-04-03 16:28:46 -07:00
libgetopts auto merge of #13440 : huonw/rust/strbuf, r=alexcrichton 2014-04-10 21:01:41 -07:00
libglob auto merge of #13440 : huonw/rust/strbuf, r=alexcrichton 2014-04-10 21:01:41 -07:00
libgreen std: Make std::comm return types consistent 2014-04-10 21:41:19 -07:00
libhexfloat Bump version to 0.11-pre 2014-04-03 16:28:46 -07:00
liblibc rustc: Don't succeed on shadowed nonexistent import 2014-04-10 15:22:00 -07:00
liblog liblog doc: Fix apparent search-and-replace errors 2014-04-11 15:28:03 +01:00
libnative native: Remove timerfd implementation on linux 2014-04-12 13:42:07 -07:00
libnum libtest: rename BenchHarness to Bencher 2014-04-11 17:31:13 +08:00
librand libtest: rename BenchHarness to Bencher 2014-04-11 17:31:13 +08:00
librustc auto merge of #13463 : alexcrichton/rust/c-linkage-oh-my, r=brson 2014-04-13 02:16:54 -07:00
librustdoc rustdoc: fix fallout from removing ast::Sigil. 2014-04-11 18:01:34 +03:00
librustuv std: Make std::comm return types consistent 2014-04-10 21:41:19 -07:00
libsemver libstd: Implement StrBuf, a new string buffer type like Vec, and 2014-04-10 22:10:10 +10:00
libserialize libtest: rename BenchHarness to Bencher 2014-04-11 17:31:13 +08:00
libstd auto merge of #13448 : alexcrichton/rust/rework-chan-return-values, r=brson 2014-04-12 12:21:58 -07:00
libsync std: Make std::comm return types consistent 2014-04-10 21:41:19 -07:00
libsyntax syntax: remove ast::Sigil. 2014-04-11 18:01:34 +03:00
libterm De-~[] Reader and Writer 2014-04-06 15:39:56 -07:00
libtest libtest: rename BenchHarness to Bencher 2014-04-11 17:31:13 +08:00
libtime libstd: Implement StrBuf, a new string buffer type like Vec, and 2014-04-10 22:10:10 +10:00
liburl libstd: Implement StrBuf, a new string buffer type like Vec, and 2014-04-10 22:10:10 +10:00
libuuid libtest: rename BenchHarness to Bencher 2014-04-11 17:31:13 +08:00
libuv@800b56fe6a
libworkcache Remove some internal ~[] from several libraries. 2014-04-10 15:21:58 -07:00
llvm@263c617d66
rt Fix spelling errors in comments. 2014-04-08 00:03:12 -07:00
rustllvm rustllvm: Remove a no longer needed file 2014-04-03 10:50:06 -07:00
test auto merge of #13463 : alexcrichton/rust/c-linkage-oh-my, r=brson 2014-04-13 02:16:54 -07:00
README.md
snapshots.txt Register snapshots. 2014-04-10 19:53:10 -07:00

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.