e341d603fe
This commit deletes the internal liblog in favor of the implementation that lives on crates.io. Similarly it's also setting a convention for adding crates to the compiler. The main restriction right now is that we want compiler implementation details to be unreachable from normal Rust code (e.g. requires a feature), and by default everything in the sysroot is reachable via `extern crate`. The proposal here is to require that crates pulled in have these lines in their `src/lib.rs`: #![cfg_attr(rustbuild, feature(staged_api, rustc_private))] #![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))] This'll mean that by default they're not using these attributes but when compiled as part of the compiler they do a few things: * Mark themselves as entirely unstable via the `staged_api` feature and the `#![unstable]` attribute. * Allow usage of other unstable crates via `feature(rustc_private)` which is required if the crate relies on any other crates to compile (other than std).
28 lines
873 B
TOML
28 lines
873 B
TOML
[package]
|
|
authors = ["The Rust Project Developers"]
|
|
name = "rustc_trans"
|
|
version = "0.0.0"
|
|
|
|
[lib]
|
|
name = "rustc_trans"
|
|
path = "lib.rs"
|
|
crate-type = ["dylib"]
|
|
test = false
|
|
|
|
[dependencies]
|
|
flate = { path = "../libflate" }
|
|
log = "0.3"
|
|
rustc = { path = "../librustc" }
|
|
rustc_back = { path = "../librustc_back" }
|
|
rustc_bitflags = { path = "../librustc_bitflags" }
|
|
rustc_const_eval = { path = "../librustc_const_eval" }
|
|
rustc_const_math = { path = "../librustc_const_math" }
|
|
rustc_data_structures = { path = "../librustc_data_structures" }
|
|
rustc_errors = { path = "../librustc_errors" }
|
|
rustc_incremental = { path = "../librustc_incremental" }
|
|
rustc_llvm = { path = "../librustc_llvm" }
|
|
rustc_platform_intrinsics = { path = "../librustc_platform_intrinsics" }
|
|
serialize = { path = "../libserialize" }
|
|
syntax = { path = "../libsyntax" }
|
|
syntax_pos = { path = "../libsyntax_pos" }
|