rust/mk
bors 2c01bb8851 Auto merge of #35718 - michaelwoerister:incr-comp-dir-locking, r=alexcrichton
Implement synchronization scheme for incr. comp. directory

This PR implements a copy-on-write-based synchronization scheme for the incremental compilation cache directory. For technical details, see the documentation at the beginning of `rustc_incremental/persist/fs.rs`.

The PR contains unit tests for some functions but for testing whether the scheme properly handles races, a more elaborate test setup would be needed. It would probably involve a small tool that allows to manipulate the incremental compilation directory in a controlled way and then letting a compiler instance run against directories in different states. I don't know if it's worth the trouble of adding another test category to `compiletest`, but I'd be happy to do so.

Fixes #32754
Fixes #34957
2016-08-31 12:56:15 -07:00
..
cfg initial support for s390x 2016-08-26 21:05:50 -05:00
clean.mk Added missing argument to 'find' 2015-10-27 23:47:53 +13:00
crates.mk Move `flock.rs` from librustdoc to librustc_data_structures. 2016-08-29 14:27:40 -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 Produce source package in rust-installer format in addition to vanilla tarball 2016-08-12 18:13:18 +01:00
docs.mk Also remove build steps for style 2016-08-25 15:22:57 -04: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 build llvm with systemz backend enabled, and link to related libraries 2016-08-28 13:18:28 -05:00
platform.mk [LLVM-3.9] Pass correct relocation model flag 2016-07-29 10:29:44 +02: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 Fix build of compiler-rt on FreeBSD 2016-07-24 04:48:26 +00:00
rustllvm.mk Merge branch 'master' into issue-30961 2016-08-06 15:50:48 +10: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 add mir optimization tests, dump-mir-dir option 2016-07-20 19:41:39 -07:00
util.mk mk: Build crates with relative paths to rustc 2015-06-13 01:41:52 +02:00