rust/src
bors 27e5457f3f Auto merge of #53955 - alexcrichton:fix-dist-again, r=japaric
rustbuild: Tweak LLVM distribution layout

This commit tweaks the layout of a few components that we distribute to
hopefully fix across all platforms the recent issues with LLD being unable to
find the LLVM shared object. In #53245 we switched to building LLVM as a dynamic
library, which means that LLVM tools by default link to LLVM dynamically rather
than statically. This in turn means that the tools, at runtime, need to find the
LLVM shared library.

LLVM's shared library is currently distributed as part of the rustc component.
This library is located, however, at `$sysroot/lib`. The LLVM tools we ship are
in two locations:

* LLD is shipped at `$sysroot/lib/rustlib/$host/bin/rust-lld`
* Other LLVM tools are shipped at `$sysroot/bin`

Each LLVM tool has an embedded rpath directive indicating where it will search
for dynamic libraries. This currently points to `../lib` and is presumably
inserted by LLVM's build system. Unfortunately, though, this directive is only
correct for the LLVM tools at `$sysroot/bin`, not LLD!

This commit is targeted at fixing this situation by making two changes:

* LLVM tools other than LLD are moved in the distribution to
  `$sysroot/lib/rustlib/$host/bin`. This moves them next to LLD and should
  position them for...
* The LLVM shared object is moved to `$sysroot/lib/rustlib/$host/lib`

Together this means that all tools should natively be able to find the shared
object and the shared object should be installed all the time for the various
tools. Overall this should...

Closes #53813
2018-09-06 02:09:12 +00:00
..
bootstrap rustbuild: Tweak LLVM distribution layout 2018-09-05 09:17:20 -07:00
build_helper
ci
dlmalloc@c99638dc2e
doc Document #[test_case] and #![test_runner] 2018-09-04 22:33:11 -07:00
etc
grammar
jemalloc@1f5a28755e
liballoc Auto merge of #52994 - varkor:trim_direction, r=alexcrichton 2018-09-05 23:45:08 +00:00
liballoc_jemalloc
liballoc_system
libarena
libbacktrace@f4d02bbdbf
libcompiler_builtins@f3a13eb238
libcore Auto merge of #52994 - varkor:trim_direction, r=alexcrichton 2018-09-05 23:45:08 +00:00
libfmt_macros
libgraphviz
liblibc@1844a772b6
libpanic_abort
libpanic_unwind
libproc_macro
libprofiler_builtins
librustc Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_allocator
librustc_apfloat
librustc_asan
librustc_borrowck
librustc_codegen_llvm Auto merge of #53962 - michaelwoerister:close-thinlto-file-descriptors, r=alexcrichton 2018-09-05 20:52:42 +00:00
librustc_codegen_utils
librustc_cratesio_shim Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_data_structures Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_driver Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
librustc_errors Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_fs_util
librustc_incremental Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_lint Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
librustc_llvm
librustc_lsan
librustc_metadata
librustc_metadata_utils
librustc_mir Auto merge of #53883 - RalfJung:miri-assert, r=oli-obk 2018-09-03 23:20:31 +00:00
librustc_msan
librustc_passes Auto merge of #53815 - F001:if-let-guard, r=petrochenkov 2018-09-01 20:31:29 +00:00
librustc_platform_intrinsics
librustc_plugin
librustc_privacy
librustc_resolve Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
librustc_save_analysis A few cleanups and minor improvements to save_analysis 2018-09-03 18:37:54 +02:00
librustc_target Auto merge of #53878 - alexcrichton:wasm-atomics-feature, r=eddyb 2018-09-05 13:19:19 +00:00
librustc_traits
librustc_tsan
librustc_typeck Auto merge of #53842 - estebank:various, r=petrochenkov 2018-09-01 23:34:14 +00:00
librustdoc Auto merge of #53599 - matthiaskrgr:split_str__to__split_char, r=frewsxcv 2018-09-02 15:27:56 +00:00
libserialize
libstd Auto merge of #53075 - Mark-Simulacrum:update-cargolock, r=alexcrichton 2018-09-05 03:04:20 +00:00
libsyntax Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
libsyntax_ext Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
libsyntax_pos
libterm
libtest Auto merge of #53867 - cwndrws:json-test-formatter-test-count-as-num, r=nrc 2018-09-05 09:57:56 +00:00
libunwind
llvm@2a1cdeadd3
llvm-emscripten@2717444753
rtstartup
rustc
rustllvm Auto merge of #53673 - michaelwoerister:incr-thinlto-2000, r=alexcrichton 2018-09-03 13:59:57 +00:00
stdsimd@05c2f61c38
test Auto merge of #53867 - cwndrws:json-test-formatter-test-count-as-num, r=nrc 2018-09-05 09:57:56 +00:00
tools Auto merge of #53951 - tromey:restore-lldb-build, r=alexcrichton 2018-09-05 18:11:27 +00:00
.gitignore
Cargo.lock Introduce Custom Test Frameworks 2018-09-04 22:33:00 -07:00
Cargo.toml
README.md
stage0.txt

This directory contains the source code of the rust project, including:

  • rustc and its tests
  • libstd
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc guide.

Their is also useful content in the following READMEs, which are gradually being moved over to the guide: