about summary refs log tree commit diff
path: root/src/libcompiler_builtins/build.rs
AgeCommit message (Collapse)AuthorLines
2017-07-05Switch to rust-lang-nursery/compiler-builtinsAlex Crichton-423/+0
This commit migrates the in-tree `libcompiler_builtins` to the upstream version at https://github.com/rust-lang-nursery/compiler-builtins. The upstream version has a number of intrinsics written in Rust and serves as an in-progress rewrite of compiler-rt into Rust. Additionally it also contains all the existing intrinsics defined in `libcompiler_builtins` for 128-bit integers. It's been the intention since the beginning to make this transition but previously it just lacked the manpower to get done. As this PR likely shows it wasn't a trivial integration! Some highlight changes are: * The PR rust-lang-nursery/compiler-builtins#166 contains a number of fixes across platforms and also some refactorings to make the intrinsics easier to read. The additional testing added there also fixed a number of integration issues when pulling the repository into this tree. * LTO with the compiler-builtins crate was fixed to link in the entire crate after the LTO process as these intrinsics are excluded from LTO. * Treatment of hidden symbols was updated as previously the `#![compiler_builtins]` crate would mark all symbol *imports* as hidden whereas it was only intended to mark *exports* as hidden.
2017-04-23FIN: build comiler-rt wihout Thumb on armTim Neumann-0/+6
2017-03-04Automate timestamp creation and build skipping for native librariesVadim Petrochenkov-9/+6
Add comments
2017-03-04Build compiler-rt and sanitizers only onceVadim Petrochenkov-4/+12
2017-03-04Add/remove `rerun-if-changed` when necessaryVadim Petrochenkov-0/+4
2017-02-16add solaris sparcv9 supportShawn Walker-Salas-1/+9
* Update bootstrap to recognize the cputype 'sparcv9' (used on Solaris) * Change to never use -fomit-frame-pointer on Solaris or for sparc * Adds rust target sparcv9-sun-solaris Fixes #39901
2017-01-31Don't build gcc_personality_v0.c on NetBSD eitherJonathan A. Kollasch-1/+1
2017-01-16travis: Expand the `cross` linux imageAlex Crichton-1/+0
This expands the `cross` travis matrix entry with a few more targets that our nightlies are building: * x86_64-rumprun-netbsd * arm-unknown-linux-musleabi * arm-unknown-linux-musleabihf * armv7-unknown-linux-musleabihf * mips-unknown-linux-musl * mipsel-unknown-linux-musl This commit doesn't compile custom toolchains like our current cross-image does, but instead compiles musl manually and then compiles libunwind manually (like x86_64) for use for the ARM targets and just uses openwrt toolchains for the mips targets.
2017-01-13Rollup merge of #38877 - jdub:patch-1, r=sanxiynGuillaume Gomez-4/+0
libcompiler_builtins: Don't build emutls.c Rather than improving the check, let's ditch emutls.c entirely.
2017-01-08libcompiler_builtins: Don't build emutls.cJeff Waugh-4/+0
Rather than improving the check, let's ditch emutls.c entirely.
2016-12-26std: Remove unused objects from compiler-builtinsAlex Crichton-6/+0
We don't actually use trampoline_setup.c and all the `*tf3` business seems related to f80/f128 business. Specifically this'll fix some warnings showing up during builds on OSX.
2016-12-22Do not build emutls on RedoxJeremy Soller-1/+1
2016-11-28Define VISIBILITY_HIDDEN when compiling compiler-rtRobin Kruppe-0/+1
This is cherry-picked from #37817 which seems to be stalled and currently needs to be rebased anyway. r? @alexcrichton (who authored this change)
2016-09-30Don't build any native compiler-builtin components for emscriptenBrian Anderson-0/+6
2016-09-25Report which required build-time environment variable is not setJake Goulding-1/+1
2016-09-13rustc: Don't pass --whole-archive for compiler-builtinsAlex Crichton-4/+6
This flag is intended for rlibs included once, not rlibs that are repeatedly included.
2016-09-12crate-ify compiler-rt into compiler-builtinsJorge Aparicio-0/+402
libcompiler-rt.a is dead, long live libcompiler-builtins.rlib This commit moves the logic that used to build libcompiler-rt.a into a compiler-builtins crate on top of the core crate and below the std crate. This new crate still compiles the compiler-rt instrinsics using gcc-rs but produces an .rlib instead of a static library. Also, with this commit rustc no longer passes -lcompiler-rt to the linker. This effectively makes the "no-compiler-rt" field of target specifications a no-op. Users of `no_std` will have to explicitly add the compiler-builtins crate to their crate dependency graph *if* they need the compiler-rt intrinsics. Users of the `std` have to do nothing extra as the std crate depends on compiler-builtins. Finally, this a step towards lazy compilation of std with Cargo as the compiler-rt intrinsics can now be built by Cargo instead of having to be supplied by the user by some other method. closes #34400