diff --git a/Cargo.toml b/Cargo.toml index 75c39ccc9..f009b4cc7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ futures-cpupool = "0.1" fdlimit = "0.1" ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" } jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-1.11" } -ethcore = { path = "ethcore", features = ["work-notify", "price-info", "stratum"] } +ethcore = { path = "ethcore", features = ["parity"] } parity-bytes = { git = "https://github.com/paritytech/parity-common" } ethcore-io = { path = "util/io" } ethcore-light = { path = "ethcore/light" } diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 8a3ce5a6d..c0f705709 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -80,6 +80,13 @@ tempdir = "0.3" trie-standardmap = { git = "https://github.com/paritytech/parity-common" } [features] +parity = ["work-notify", "price-info", "stratum"] +# Large optional features that are enabled by default for Parity, +# but might be omitted for other dependent crates. +work-notify = ["ethcore-miner/work-notify"] +price-info = ["ethcore-miner/price-info"] +stratum = ["ethcore-stratum"] + # Display EVM debug traces. evm-debug = ["evm/evm-debug"] # Display EVM debug traces when running tests. @@ -97,6 +104,3 @@ test-heavy = [] benches = [] # Compile test helpers test-helpers = ["tempdir"] -work-notify = ["ethcore-miner/work-notify"] -price-info = ["ethcore-miner/price-info"] -stratum = ["ethcore-stratum"] diff --git a/parity/run.rs b/parity/run.rs index a8082b724..fb52d8679 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -33,7 +33,6 @@ use ethcore_logger::{Config as LogConfig, RotatingLogger}; use ethcore_service::ClientService; use ethereum_types::Address; use sync::{self, SyncConfig}; -#[cfg(feature = "work-notify")] use miner::work_notify::WorkPoster; use futures::IntoFuture; use futures_cpupool::CpuPool; @@ -511,13 +510,10 @@ fn execute_impl(cmd: RunCmd, logger: Arc, on_client_rq: miner.set_gas_range_target(cmd.miner_extras.gas_range_target); miner.set_extra_data(cmd.miner_extras.extra_data); - #[cfg(feature = "work-notify")] - { - if !cmd.miner_extras.work_notify.is_empty() { - miner.add_work_listener(Box::new( - WorkPoster::new(&cmd.miner_extras.work_notify, fetch.clone(), event_loop.remote()) - )); - } + if !cmd.miner_extras.work_notify.is_empty() { + miner.add_work_listener(Box::new( + WorkPoster::new(&cmd.miner_extras.work_notify, fetch.clone(), event_loop.remote()) + )); } let engine_signer = cmd.miner_extras.engine_signer;