a8efa21333
This implements a rust tool similar to go's go tool. It acts as a central hub for the tools rustc, rustdoc, rustpkg, rusti, and also provides shortcuts for directly compiling and running a source file either as a normal or a test executable. Default usage message: ``` The rust tool is a convenience for managing rust source code. It acts as a shortcut for programs of the rust tool chain. Usage: rust <command> [arguments] The commands are: build compile rust source files run build a executable, and run it test build a test executable, and run it doc generate documentation from doc comments pkg download, build, install rust packages sketch run a rust interpreter help show detailed usage of a command Use "rust help <command>" for more information about a command. ```
This is a preliminary version of the Rust compiler, libraries and tools Source layout: librustc/ The self-hosted compiler libcore/ The core library (imported and linked by default) libstd/ The standard library (slightly more peripheral code) libsyntax/ The Rust parser and pretty-printer rt/ The runtime system rt/rust_*.cpp - The majority of the runtime services rt/isaac - The PRNG used for pseudo-random choices in the runtime rt/bigint - The bigint library used for the 'big' type rt/uthash - Small hashtable-and-list library for C, used in runtime rt/sync - Concurrency utils rt/util - Small utility classes for the runtime. rt/vg - Valgrind headers rt/msvc - MSVC support rt/linenoise - a readline-like line editing library test/ Testsuite test/compile-fail - Tests that should fail to compile test/run-fail - Tests that should compile, run and fail test/run-pass - Tests that should compile, run and succeed test/bench - Benchmarks and miscellanea test/pretty - Pretty-printer tests test/auxiliary - Dependencies of tests compiletest/ The test runner librustpkg/ The package manager and build system librusti/ The JIT REPL librustdoc/ The Rust API documentation tool llvm/ The LLVM submodule libuv/ The libuv submodule rustllvm/ LLVM support code libfuzzer/ A collection of fuzz testers etc/ Scripts, editor support, misc