Skip to content

Commit a340ba0

Browse files
committed
Move compiler driver code from ops into core
1 parent 49a762f commit a340ba0

22 files changed

+23
-23
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/cargo/core/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ pub mod resolver;
2121
pub mod summary;
2222
pub mod shell;
2323
pub mod registry;
24+
pub mod compiler;
2425
mod interning;
2526
mod package_id_spec;
2627
mod workspace;

src/cargo/ops/cargo_clean.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ use std::fs;
22
use std::path::Path;
33

44
use core::{Profiles, Workspace};
5+
use core::compiler::{BuildConfig, Context, Kind, Unit};
56
use util::Config;
67
use util::errors::{CargoResult, CargoResultExt};
78
use util::paths;
8-
use ops::{self, BuildConfig, Context, Kind, Unit};
9+
use ops;
910

1011
pub struct CleanOptions<'a> {
1112
pub config: &'a Config,

src/cargo/ops/cargo_compile.rs

+10-8
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ use std::sync::Arc;
2828

2929
use core::{Package, Source, Target};
3030
use core::{PackageId, PackageIdSpec, Profile, Profiles, TargetKind, Workspace};
31+
use core::compiler::{BuildConfig, BuildOutput, Compilation, Context, DefaultExecutor, Executor};
32+
use core::compiler::{Kind, TargetConfig, Unit};
3133
use core::resolver::{Method, Resolve};
32-
use ops::{self, BuildOutput, Context, DefaultExecutor, Executor, Kind, Unit};
34+
use ops;
3335
use util::config::Config;
3436
use util::{profile, CargoResult, CargoResultExt};
3537

@@ -193,15 +195,15 @@ pub enum CompileFilter {
193195
pub fn compile<'a>(
194196
ws: &Workspace<'a>,
195197
options: &CompileOptions<'a>,
196-
) -> CargoResult<ops::Compilation<'a>> {
198+
) -> CargoResult<Compilation<'a>> {
197199
compile_with_exec(ws, options, Arc::new(DefaultExecutor))
198200
}
199201

200202
pub fn compile_with_exec<'a>(
201203
ws: &Workspace<'a>,
202204
options: &CompileOptions<'a>,
203205
exec: Arc<Executor>,
204-
) -> CargoResult<ops::Compilation<'a>> {
206+
) -> CargoResult<Compilation<'a>> {
205207
for member in ws.members() {
206208
for warning in member.manifest().warnings().iter() {
207209
if warning.is_critical {
@@ -224,7 +226,7 @@ pub fn compile_ws<'a>(
224226
source: Option<Box<Source + 'a>>,
225227
options: &CompileOptions<'a>,
226228
exec: Arc<Executor>,
227-
) -> CargoResult<ops::Compilation<'a>> {
229+
) -> CargoResult<Compilation<'a>> {
228230
let CompileOptions {
229231
config,
230232
jobs,
@@ -844,7 +846,7 @@ fn scrape_build_config(
844846
config: &Config,
845847
jobs: Option<u32>,
846848
target: Option<String>,
847-
) -> CargoResult<ops::BuildConfig> {
849+
) -> CargoResult<BuildConfig> {
848850
if jobs.is_some() && config.jobserver_from_env().is_some() {
849851
config.shell().warn(
850852
"a `-j` argument was passed to Cargo but Cargo is \
@@ -875,7 +877,7 @@ fn scrape_build_config(
875877
let jobs = jobs.or(cfg_jobs).unwrap_or(::num_cpus::get() as u32);
876878
let cfg_target = config.get_string("build.target")?.map(|s| s.val);
877879
let target = target.or(cfg_target);
878-
let mut base = ops::BuildConfig::new(&config.rustc()?.host, &target)?;
880+
let mut base = BuildConfig::new(&config.rustc()?.host, &target)?;
879881
base.jobs = jobs;
880882
base.host = scrape_target_config(config, &base.host_triple)?;
881883
base.target = match target.as_ref() {
@@ -885,9 +887,9 @@ fn scrape_build_config(
885887
Ok(base)
886888
}
887889

888-
fn scrape_target_config(config: &Config, triple: &str) -> CargoResult<ops::TargetConfig> {
890+
fn scrape_target_config(config: &Config, triple: &str) -> CargoResult<TargetConfig> {
889891
let key = format!("target.{}", triple);
890-
let mut ret = ops::TargetConfig {
892+
let mut ret = TargetConfig {
891893
ar: config.get_path(&format!("{}.ar", key))?.map(|v| v.val),
892894
linker: config.get_path(&format!("{}.linker", key))?.map(|v| v.val),
893895
overrides: HashMap::new(),

src/cargo/ops/cargo_install.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ use toml;
1212

1313
use core::{Dependency, Edition, Package, PackageIdSpec, Source, SourceId};
1414
use core::{PackageId, Workspace};
15-
use ops::{self, CompileFilter, DefaultExecutor};
15+
use core::compiler::DefaultExecutor;
16+
use ops::{self, CompileFilter};
1617
use sources::{GitSource, PathSource, SourceConfigMap};
1718
use util::{internal, Config};
1819
use util::{FileLock, Filesystem};

src/cargo/ops/cargo_new.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ use std::path::{Path, PathBuf};
77
use git2::Config as GitConfig;
88
use git2::Repository as GitRepository;
99

10-
use core::Workspace;
11-
use ops::is_bad_artifact_name;
10+
use core::{compiler, Workspace};
1211
use util::{internal, FossilRepo, GitRepo, HgRepo, PijulRepo};
1312
use util::{paths, Config};
1413
use util::errors::{CargoResult, CargoResultExt};
@@ -136,7 +135,7 @@ fn check_name(name: &str, opts: &NewOptions) -> CargoResult<()> {
136135
"pure", "ref", "return", "self", "sizeof", "static", "struct", "super", "test", "trait",
137136
"true", "type", "typeof", "unsafe", "unsized", "use", "virtual", "where", "while", "yield",
138137
];
139-
if blacklist.contains(&name) || (opts.kind.is_bin() && is_bad_artifact_name(name)) {
138+
if blacklist.contains(&name) || (opts.kind.is_bin() && compiler::is_bad_artifact_name(name)) {
140139
bail!(
141140
"The name `{}` cannot be used as a crate name{}",
142141
name,

src/cargo/ops/cargo_package.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ use git2;
1010
use tar::{Archive, Builder, EntryType, Header};
1111

1212
use core::{Package, Source, SourceId, Workspace};
13+
use core::compiler::DefaultExecutor;
1314
use sources::PathSource;
1415
use util::{self, internal, Config, FileLock};
1516
use util::paths;
1617
use util::errors::{CargoResult, CargoResultExt};
17-
use ops::{self, DefaultExecutor};
18+
use ops;
1819

1920
pub struct PackageOpts<'cfg> {
2021
pub config: &'cfg Config,

src/cargo/ops/cargo_test.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::ffi::{OsStr, OsString};
22

3-
use ops::{self, Compilation};
3+
use ops;
4+
use core::compiler::Compilation;
45
use util::{self, CargoTestError, ProcessError, Test};
56
use util::errors::CargoResult;
67
use core::Workspace;

src/cargo/ops/mod.rs

-5
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ pub use self::cargo_clean::{clean, CleanOptions};
22
pub use self::cargo_compile::{compile, compile_with_exec, compile_ws, CompileOptions};
33
pub use self::cargo_compile::{CompileFilter, CompileMode, FilterRule, MessageFormat, Packages};
44
pub use self::cargo_read_manifest::{read_package, read_packages};
5-
pub use self::cargo_rustc::{Compilation, Kind, Unit};
6-
pub use self::cargo_rustc::{is_bad_artifact_name, Context};
7-
pub use self::cargo_rustc::{BuildConfig, BuildOutput, TargetConfig};
8-
pub use self::cargo_rustc::{DefaultExecutor, Executor};
95
pub use self::cargo_run::run;
106
pub use self::cargo_install::{install, install_list, uninstall};
117
pub use self::cargo_new::{init, new, NewOptions, VersionControl};
@@ -38,7 +34,6 @@ mod cargo_package;
3834
mod cargo_pkgid;
3935
mod cargo_read_manifest;
4036
mod cargo_run;
41-
mod cargo_rustc;
4237
mod cargo_test;
4338
mod lockfile;
4439
mod registry;

src/cargo/util/toml/targets.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ use std::path::{Path, PathBuf};
1414
use std::fs::{self, DirEntry};
1515
use std::collections::HashSet;
1616

17-
use core::Target;
18-
use ops::is_bad_artifact_name;
17+
use core::{compiler, Target};
1918
use util::errors::CargoResult;
2019
use super::{LibKind, PathValue, StringOrBool, TomlBenchTarget, TomlBinTarget, TomlExampleTarget,
2120
TomlLibTarget, TomlManifest, TomlTarget, TomlTestTarget};
@@ -205,7 +204,7 @@ fn clean_bins(
205204
));
206205
}
207206

208-
if is_bad_artifact_name(&name) {
207+
if compiler::is_bad_artifact_name(&name) {
209208
bail!("the binary target name `{}` is forbidden", name)
210209
}
211210
}

0 commit comments

Comments
 (0)