rust/src
Alex Crichton a0546ded10 rustc: Disable rpath settings by default
This commit disables rustc's emission of rpath attributes into dynamic libraries
and executables by default. The functionality is still preserved, but it must
now be manually enabled via a `-C rpath` flag.

This involved a few changes to the local build system:

* --disable-rpath is now the default configure option
* Makefiles now prefer our own LD_LIBRARY_PATH over the user's LD_LIBRARY_PATH
  in order to support building rust with rust already installed.
* The compiletest program was taught to correctly pass through the aux dir as a
  component of LD_LIBRARY_PATH in more situations.

The major impact of this change is that neither rustdoc nor rustc will work
out-of-the-box in all situations because they are dynamically linked. It must be
arranged to ensure that the libraries of a rust installation are part of the
LD_LIBRARY_PATH. The default installation paths for all platforms ensure this,
but if an installation is in a nonstandard location, then configuration may be
necessary.

Additionally, for all developers of rustc, it will no longer be possible to run
$target/stageN/bin/rustc out-of-the-box. The old behavior can be regained
through the `--enable-rpath` option to the configure script.

This change brings linux/mac installations in line with windows installations
where rpath is not possible.

Closes #11747
[breaking-change]
2014-06-16 21:55:38 -07:00
..
compiler-rt@7b97b8468f Updated compiler-rt 2014-06-14 21:48:12 +03:00
compiletest Fix --disable-rpath and tests 2014-06-16 18:16:45 -07:00
doc Update Sublime Rust github link 2014-06-16 18:16:42 -07:00
driver Snapshot cleanup 2014-03-23 09:45:13 -07:00
etc auto merge of #14955 : alexcrichton/rust/rollup, r=alexcrichton 2014-06-17 02:51:53 +00:00
gyp@1e46da1000 Update bundled gyp 2013-12-28 10:42:25 -08:00
jemalloc@024c67ad65 Updated deps 2014-06-12 20:20:12 +03:00
liballoc alloc: Refactor OOM into a common routine 2014-06-16 18:15:48 -07:00
libarena Fix all violations of stronger guarantees for mutable borrows 2014-06-13 20:48:09 -07:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections Register new snapshots 2014-06-15 23:30:24 -07:00
libcore Register new snapshots 2014-06-15 23:30:24 -07:00
libdebug Register new snapshots 2014-06-15 23:30:24 -07:00
libflate Register new snapshots 2014-06-14 10:28:09 -07:00
libfmt_macros std: Remove i18n/l10n from format! 2014-06-11 16:04:24 -07:00
libfourcc rustc: Obsolete the @ syntax entirely 2014-06-14 10:45:37 -07:00
libgetopts Register new snapshots 2014-06-14 10:28:09 -07:00
libglob rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libgraphviz rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libgreen Register new snapshots 2014-06-15 23:30:24 -07:00
libhexfloat rustc: Obsolete the @ syntax entirely 2014-06-14 10:45:37 -07:00
liblibc fix typo in the libc crate 2014-06-16 18:16:40 -07:00
liblog Register new snapshots 2014-06-15 23:30:24 -07:00
libnative std: Improve pipe() functionality 2014-06-16 10:53:49 -07:00
libnum rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
librand Register new snapshots 2014-06-14 10:28:09 -07:00
libregex Register new snapshots 2014-06-15 23:30:24 -07:00
libregex_macros rustc: Obsolete the @ syntax entirely 2014-06-14 10:45:37 -07:00
librlibc Change static.rust-lang.org to doc.rust-lang.org 2014-05-21 19:55:39 -07:00
librustc rustc: Disable rpath settings by default 2014-06-16 21:55:38 -07:00
librustdoc auto merge of #14906 : P1start/rust/rustdoc-lifetimes, r=huonw 2014-06-16 11:31:56 +00:00
librustrt Update repo location 2014-06-16 18:16:36 -07:00
librustuv Register new snapshots 2014-06-15 23:30:24 -07:00
libsemver rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libserialize Update "use" to "uses" ln186 2014-06-16 18:16:32 -07:00
libstd std: Don't fail the task when a Future is dropped 2014-06-16 18:16:14 -07:00
libsync auto merge of #14877 : Seldaek/rust/commdocs, r=alexcrichton 2014-06-16 17:01:56 +00:00
libsyntax Update repo location 2014-06-16 18:16:36 -07:00
libterm Register new snapshots 2014-06-15 23:30:24 -07:00
libtest Register new snapshots 2014-06-15 23:30:24 -07:00
libtime auto merge of #14715 : vhbit/rust/ios-pr2, r=alexcrichton 2014-06-16 06:32:03 +00:00
liburl std: Remove i18n/l10n from format! 2014-06-11 16:04:24 -07:00
libuuid Fix more misspelled comments and strings. 2014-06-10 11:24:17 -04:00
libuv@43495892de Update libuv 2014-04-24 09:08:07 -07:00
llvm@0a894645cf Update to LLVM head and mark various ptrs as nonnull. 2014-05-22 21:06:24 -04:00
rt Cosmetic fixes & comments 2014-06-13 10:18:12 +03:00
rustllvm debuginfo: Fix issue with unique type IDs not being passed to LLVM for LLVM 3.4 2014-06-12 18:48:14 +02:00
test auto merge of #14955 : alexcrichton/rust/rollup, r=alexcrichton 2014-06-17 02:51:53 +00:00
README.md Update README file for src/ directory 2014-06-03 14:06:54 +02:00
snapshots.txt Register new snapshots 2014-06-15 23:30:24 -07:00

This is a preliminary version of the Rust compiler, libraries and tools.

Source layout:

Path Description
librustc/ The self-hosted compiler
liballoc/ Rust's core allocation library
libcore/ The Rust core library
libdebug/ Debugging utilities
libstd/ The standard library (imported and linked by default)
libgreen/ The M:N runtime library
libnative/ The 1:1 runtime library
libsyntax/ The Rust parser and pretty-printer
libtest/ Rust's test-runner code
------------------- ---------------------------------------------------------
libarena/ The arena (a fast but limited) memory allocator
libbacktrace/ The libbacktrace library
libcollections/ A collection of useful data structures and containers
libflate/ Simple compression library
libfmt_macros/ Macro support for format strings
libfourcc/ Data format identifier library
libgetopts/ Get command-line-options library
libglob/ Unix glob patterns library
libgraphviz/ Generating files for Graphviz
libhexfloat/ Hexadecimal floating-point literals
liblibc/ Bindings for the C standard library
liblog/ Utilities for program-wide and customizable logging
libnum/ Extended number support library (complex, rational, etc)
librand/ Random numbers and distributions
libregex/ Regular expressions
libregex_macros/ The regex! syntax extension
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
liburl/ URL handling lirary
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.