rust/mk
Huon Wilson 532cd5f85a Separate most of rustc::lint::builtin into a separate crate.
This pulls out the implementations of most built-in lints into a
separate crate, to reduce edit-compile-test iteration times with
librustc_lint and increase parallelism. This should enable lints to be
refactored, added and deleted much more easily as it slashes the
edit-compile cycle to get a minimal working compiler to test with (`make
rustc-stage1`) from

    librustc -> librustc_typeck -> ... -> librustc_driver ->
        libcore -> ... -> libstd

to

    librustc_lint -> librustc_driver -> libcore -> ... libstd

which is significantly faster, mainly due to avoiding the librustc build
itself.

The intention would be to move as much as possible of the infrastructure
into the crate too, but the plumbing is deeply intertwined with librustc
itself at the moment. Also, there are lints for which diagnostics are
registered directly in the compiler code, not in their own crate
traversal, and their definitions have to remain in librustc.

This is a [breaking-change] for direct users of the compiler APIs:
callers of `rustc::session::build_session` or
`rustc::session::build_session_` need to manually call
`rustc_lint::register_builtins` on their return value.

This should make #22206 easier.
2015-02-28 15:33:59 +11:00
..
cfg bitrig integration 2015-02-11 14:49:06 -08:00
clean.mk debuginfo: Add a rust-gdb shell script that will start GDB with Rust pretty printers enabled. 2014-12-30 17:26:13 +01:00
crates.mk Separate most of rustc::lint::builtin into a separate crate. 2015-02-28 15:33:59 +11:00
ctags.mk Fix make TAGS.emacs. 2014-12-16 17:08:49 +01:00
debuggers.mk debuginfo: Add a rust-gdb shell script that will start GDB with Rust pretty printers enabled. 2014-12-30 17:26:13 +01:00
dist.mk Upgrade rust-installer 2015-02-12 20:36:17 -08:00
docs.mk rollup merge of #22331: steveklabnik/guidelines 2015-02-17 17:26:43 -08:00
grammar.mk Add a LALR grammar for Rust with testing support 2015-01-20 18:47:17 -08:00
host.mk mk: Add space before line continuation backslash 2014-07-23 08:44:11 -07:00
install.mk Remove duplicated configuration for android 2015-02-10 21:53:33 +09:00
llvm.mk Don't use the same llvmdeps.rs for every host. 2014-11-25 17:28:49 -06:00
main.mk Rollup merge of #22292 - brson:alpha2, r=alexcrichton 2015-02-15 18:42:47 +05:30
perf.mk support for GNU configure syntax 2013-10-29 16:22:08 -07:00
platform.mk PR review fixes 2015-02-11 14:49:10 -08:00
prepare.mk iOS: fixed install phase 2015-01-12 10:09:47 +02:00
reconfig.mk Correct building documenation with Pandoc and TeX on Windows. 2014-11-06 18:08:33 +03:00
rt.mk Remove duplicated configuration for android 2015-02-10 21:53:33 +09:00
rustllvm.mk Add LLVM ExecutionEngine API 2014-12-11 15:33:27 -07:00
snap.mk mk: Remove extra whitespace before line continuation backslashes 2014-07-23 08:41:55 -07:00
stage0.mk mk/stage0: complain instead of creating an empty file 2014-11-20 16:00:12 -05:00
target.mk mk: Use host llvm linkage paths, not target ones 2014-11-30 00:01:19 -08:00
tests.mk Separate most of rustc::lint::builtin into a separate crate. 2015-02-28 15:33:59 +11:00
util.mk mk: Address review feedback 2014-02-14 19:17:50 -08:00