Skip to content

Commit

Permalink
Remove internal liblog
Browse files Browse the repository at this point in the history
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).
  • Loading branch information
alexcrichton committed Mar 8, 2017
1 parent b04ebef commit 5f10bb5
Show file tree
Hide file tree
Showing 30 changed files with 67 additions and 984 deletions.
79 changes: 34 additions & 45 deletions src/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/bootstrap/bin/rustc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ fn main() {
cmd.args(&args)
.arg("--cfg")
.arg(format!("stage{}", stage))
.arg("--cfg").arg("rustbuild")
.env(bootstrap::util::dylib_path_var(),
env::join_paths(&dylib_path).unwrap());

Expand Down
9 changes: 0 additions & 9 deletions src/liblog/Cargo.toml

This file was deleted.

Loading

0 comments on commit 5f10bb5

Please sign in to comment.