rust/src
Alex Crichton a7bee7b05d Add a crate for missing stubs from libcore
The core library in theory has 0 dependencies, but in practice it has some in
order for it to be efficient. These dependencies are in the form of the basic
memory operations provided by libc traditionally, such as memset, memcmp, etc.
These functions are trivial to implement and themselves have 0 dependencies.

This commit adds a new crate, librlibc, which will serve the purpose of
providing these dependencies. The crate is never linked to by default, but is
available to be linked to by downstream consumers. Normally these functions are
provided by the system libc, but in other freestanding contexts a libc may not
be available. In these cases, librlibc will suffice for enabling execution with
libcore.

cc #10116
2014-05-15 13:50:37 -07:00
..
compiler-rt@ed112ca1e4 Upgrade compiler-rt 2014-04-22 15:50:51 -07:00
compiletest auto merge of #13948 : huonw/rust/test-regex-filter, r=alexcrichton 2014-05-15 11:22:02 -07:00
doc Add a crate for missing stubs from libcore 2014-05-15 13:50:37 -07:00
driver Snapshot cleanup 2014-03-23 09:45:13 -07:00
etc Get rid of the android-cross-path flag to rustc. 2014-05-14 02:16:14 -04:00
gyp@1e46da1000 Update bundled gyp 2013-12-28 10:42:25 -08:00
jemalloc@6a96910f2e add back jemalloc to the tree 2014-05-10 19:58:17 -04:00
libarena libarena: Remove all uses of ~str from libarena 2014-05-14 14:58:01 -07:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections libcollections: Remove most uses of ~str from libcollections 2014-05-14 18:29:14 -07:00
libcore Add a crate for missing stubs from libcore 2014-05-15 13:50:37 -07:00
libflate Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libfmt_macros Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libfourcc Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libgetopts Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libglob libglob: Remove all uses of ~str from libglob 2014-05-14 18:29:12 -07:00
libgraphviz libgraphviz: Remove all uses of ~str from libgraphviz. 2014-05-14 18:29:12 -07:00
libgreen Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libhexfloat libhexfloat: Remove all uses of ~str from libhexfloat 2014-05-14 14:58:01 -07:00
liblibc io: Implement process wait timeouts 2014-05-13 17:27:42 -07:00
liblog liblog: Remove all uses of ~str from liblog 2014-05-14 18:29:12 -07:00
libnative Make from_bits in bitflags! safe; add from_bits_truncate 2014-05-15 13:50:33 -07:00
libnum libnum: Remove all uses of ~str from libnum 2014-05-14 18:29:14 -07:00
librand librand: Remove all uses of ~str from librand 2014-05-14 18:29:13 -07:00
libregex librand: Remove all uses of ~str from librand 2014-05-14 18:29:13 -07:00
libregex_macros libregex: Remove all uses of ~str from libregex 2014-05-14 18:29:12 -07:00
librlibc Add a crate for missing stubs from libcore 2014-05-15 13:50:37 -07:00
librustc Add a crate for missing stubs from libcore 2014-05-15 13:50:37 -07:00
librustdoc rustdoc: functions in ffi blocks are unsafe 2014-05-15 13:50:28 -07:00
librustuv Make from_bits in bitflags! safe; add from_bits_truncate 2014-05-15 13:50:33 -07:00
libsemver libsemver: Remove all uses of ~str from libsemver 2014-05-14 18:29:12 -07:00
libserialize serialize: Broaden ignores of json tests 2014-05-13 09:28:26 -07:00
libstd use sched_yield on linux and freebsd 2014-05-15 13:50:36 -07:00
libsync auto merge of #14174 : stepancheg/rust/once, r=alexcrichton 2014-05-15 04:16:47 -07:00
libsyntax syntax::visit: pub walk_explicit_self so impls can call it as defaults do. 2014-05-15 10:55:02 +02:00
libterm libterm: Remove all uses of ~str from libterm 2014-05-14 18:29:13 -07:00
libtest test: ensure that the extended usage description gets printed. 2014-05-15 23:04:09 +10:00
libtime libtime: Remove all uses of ~str from libtime 2014-05-14 18:29:13 -07:00
liburl liburl: Remove all uses of ~str from liburl 2014-05-14 18:29:14 -07:00
libuuid libuuid: Remove all uses of ~str from libuuid. 2014-05-14 14:58:01 -07:00
libuv@43495892de Update libuv 2014-04-24 09:08:07 -07:00
libworkcache Process::new etc should support non-utf8 commands/args 2014-05-14 22:52:31 -07:00
llvm@4b4d0533b4 Upgrade LLVM 2014-04-17 11:11:39 -07:00
rt update valgrind headers 2014-05-14 12:34:32 -04:00
rustllvm Add a crate for missing stubs from libcore 2014-05-15 13:50:37 -07:00
test std: Modify TempDir to not fail on drop. Closes #12628 2014-05-15 13:50:24 -07:00
README.md Add a regex crate to the Rust distribution. 2014-04-25 00:27:24 -04:00
snapshots.txt Register new snapshots 2014-05-15 13:50:34 -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
libregex/ Regular expressions
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.