rust/src
Alex Crichton ab1dd09d73 rustc: Switch defaults from libgreen to libnative
The compiler will no longer inject libgreen as the default runtime for rust
programs, this commit switches it over to libnative by default. Now that
libnative has baked for some time, it is ready enough to start getting more
serious usage as the default runtime for rustc generated binaries.

We've found that there isn't really a correct decision in choosing a 1:1 or M:N
runtime as a default for all applications, but it seems that a larger number of
programs today would work more reasonable with a native default rather than a
green default.

With this commit come a number of bugfixes:

* The main native task is now named "<main>"
* The main native task has the stack bounds set up properly
* #[no_uv] was renamed to #[no_start]
* The core-run-destroy test was rewritten for both libnative and libgreen and
  one of the tests was modified to be more robust.
* The process-detach test was locked to libgreen because it uses signal handling
2014-03-21 12:03:13 -07:00
..
compiler-rt@f4b221571c Update compiler-rt 2014-02-17 19:58:47 -08:00
compiletest rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
doc auto merge of #13023 : thestinger/rust/deep_clone, r=alexcrichton 2014-03-20 15:01:47 -07:00
driver rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
etc auto merge of #13023 : thestinger/rust/deep_clone, r=alexcrichton 2014-03-20 15:01:47 -07:00
gyp@1e46da1000 Update bundled gyp 2013-12-28 10:42:25 -08:00
libarena Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections Register new snapshots 2014-03-20 11:02:26 -07:00
libflate Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libfourcc Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libgetopts getopts: remove all uses of ~[]. 2014-03-22 01:08:57 +11:00
libglob test: Make manual changes to deal with the fallout from removal of 2014-03-21 23:37:21 +11:00
libgreen rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
libhexfloat Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
liblog Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libnative rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
libnum Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
librand Register new snapshots 2014-03-20 11:02:26 -07:00
librustc rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
librustdoc test: Make manual changes to deal with the fallout from removal of 2014-03-21 23:37:21 +11:00
librustuv rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
libsemver Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libserialize Register new snapshots 2014-03-20 11:02:26 -07:00
libstd rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
libsync Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
libsyntax Rewrite rc::Rc using cell::Cell 2014-03-21 20:49:18 +08:00
libterm Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
libtest Remove nearly all uses of ~[] from libtest. 2014-03-22 01:08:57 +11:00
libtime Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
liburl Removing imports of std::vec_ng::Vec 2014-03-20 09:30:14 -07:00
libuuid Remove outdated and unnecessary std::vec_ng::Vec imports. 2014-03-22 01:08:57 +11:00
libuv@800b56fe6a Make priavcy checking aware that a use directive can point to two defintions (namespaces) with different privacy. Closes #4110 2014-02-19 14:47:10 +13:00
libworkcache Removing imports of std::vec_ng::Vec 2014-03-20 09:30:14 -07:00
llvm@263c617d66 Update LLVM 2014-02-25 09:37:30 -08:00
rt rustc: Fix x86 ffi for empty struct arguments 2014-03-19 16:41:51 +09:00
rustllvm rustc: Fix support for LLVM 3.3 2014-03-05 18:05:05 -08:00
test rustc: Switch defaults from libgreen to libnative 2014-03-21 12:03:13 -07:00
README.md Update source code layout in src/ 2014-02-24 21:22:27 -08:00
snapshots.txt Register new snapshots 2014-03-20 11:02:26 -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.