It's been possible to use the system LLVM for quite a while but it's probably better to use the bundled, updated source. Here's what I've been doing lately:
Once llvm gets updated, do a full llvm build, preserve the llvm directory. On every subsequent Rust build it's possible to:
run configure
remove target-triple/llvm
link to the previously saved llvm directory in target-triple
enter the newly linked llvm dir and invoke:
find . -exec touch {} \;
continue normally with make.
I'm curious how well this method compares to ccache, as similar to using --llvm-root, you get to stage0 immediately.
It's been possible to use the system LLVM for quite a while but it's probably better to use the bundled, updated source. Here's what I've been doing lately:
Once llvm gets updated, do a full llvm build, preserve the llvm directory. On every subsequent Rust build it's possible to:
configure
target-triple/llvm
target-triple
find . -exec touch {} \;
make
.I'm curious how well this method compares to ccache, as similar to using
--llvm-root
, you get to stage0 immediately.