rust/mk
Alex Crichton ee6011fc71 mk: Stop using cmake for compiler-rt
The compiler-rt build system has been a never ending cause of pain for Rust
unfortunately:

* The build system is very difficult to invoke and configure to only build
  compiler-rt, especially across platforms.
* The standard build system doesn't actually do what we want, not working for
  some of our platforms and requiring a significant number of patches on our end
  which are difficult to apply when updating compiler-rt.
* Compiling compiler-rt requires LLVM to be compiled, which... is a big
  dependency! This also means that over time compiler-rt is not guaranteed to
  build against older versions of LLVM (or newer versions), and we often want to
  work with multiple versions of LLVM simultaneously.

The makefiles and rustbuild already know how to compile C code, the code here is
far from the *only* C code we're compiling. This patch jettisons all logic to
work with compiler-rt's build system and just goes straight to the source. We
just list all files manually (copied from compiler-rt's
lib/builtins/CMakeLists.txt) and compile them into an archive.

It's likely that this means we'll fail to pick up new files when we upgrade
compiler-rt, but that seems like a much less significant cost to pay than what
we're currently paying.

cc #34400, first steps towards that
2016-07-20 13:22:20 -07:00
..
cfg mk: Remove -Wall -Werror everywhere 2016-07-19 00:04:47 -07:00
clean.mk Added missing argument to 'find' 2015-10-27 23:47:53 +13:00
crates.mk Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
ctags.mk Add TAGS.rustc.emacs/TAGS.rustc.vi make targets, (re-)including rustc source. 2016-04-28 15:01:47 +02:00
debuggers.mk Distribute both rust-lldb and rust-gdb everywhere except win-msvc 2016-05-06 03:09:48 +00:00
dist.mk specify the archive file as stdout 2016-05-05 06:48:35 +02:00
docs.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
grammar.mk Revert "mk: fix some undefined variable warnings" 2016-02-01 23:27:04 -08:00
host.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
install.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
llvm.mk llvm: allow cleaning LLVM's Visual Studio builds 2016-07-07 21:10:18 -04:00
main.mk mk: If local-rust is the same as the current version, then force a local-rebuild 2016-07-15 19:37:15 +02:00
platform.mk mk: Fix building with --enable-ccache 2016-05-05 09:12:24 -07:00
prepare.mk mk: Move disable-jemalloc logic into makefiles 2016-02-25 21:05:59 -08:00
reconfig.mk mk: Bootstrap from stable instead of snapshots 2016-04-19 10:56:49 -07:00
rt.mk mk: Stop using cmake for compiler-rt 2016-07-20 13:22:20 -07:00
rustllvm.mk Implement feature extraction from TargetMachine 2016-04-09 00:39:04 +02:00
stage0.mk mk: If local-rust is the same as the current version, then force a local-rebuild 2016-07-15 19:37:15 +02:00
target.mk mk: Fix bootstrapping cross-hosts on beta 2016-05-23 22:21:21 -07:00
tests.mk Check error index in make check 2016-06-10 22:06:40 +09:00
util.mk mk: Build crates with relative paths to rustc 2015-06-13 01:41:52 +02:00