mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-30 01:27:56 +00:00
Only use substrate-wasm-builder when std feature is enabled. (#12790)
Co-authored-by: parity-processbot <>
This commit is contained in:
@@ -51,7 +51,7 @@ frame-system-benchmarking = { version = "4.0.0-dev", default-features = false, p
|
||||
pallet-template = { version = "4.0.0-dev", default-features = false, path = "../pallets/template" }
|
||||
|
||||
[build-dependencies]
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder" }
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder", optional = true }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
@@ -86,6 +86,7 @@ std = [
|
||||
"sp-std/std",
|
||||
"sp-transaction-pool/std",
|
||||
"sp-version/std",
|
||||
"substrate-wasm-builder",
|
||||
]
|
||||
runtime-benchmarks = [
|
||||
"frame-benchmarking/runtime-benchmarks",
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
use substrate_wasm_builder::WasmBuilder;
|
||||
|
||||
fn main() {
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build()
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ pallet-vesting = { version = "4.0.0-dev", default-features = false, path = "../.
|
||||
pallet-whitelist = { version = "4.0.0-dev", default-features = false, path = "../../../frame/whitelist" }
|
||||
|
||||
[build-dependencies]
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder" }
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder", optional = true }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
@@ -205,6 +205,7 @@ std = [
|
||||
"sp-io/std",
|
||||
"pallet-child-bounties/std",
|
||||
"pallet-alliance/std",
|
||||
"substrate-wasm-builder",
|
||||
]
|
||||
runtime-benchmarks = [
|
||||
"frame-benchmarking/runtime-benchmarks",
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
use substrate_wasm_builder::WasmBuilder;
|
||||
|
||||
fn main() {
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build()
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ sp-runtime = { version = "7.0.0", default-features = false, path = "../../../pri
|
||||
sp-std = { version = "5.0.0", default-features = false, path = "../../../primitives/std" }
|
||||
|
||||
[build-dependencies]
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder" }
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder", optional = true }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
@@ -28,4 +28,5 @@ std = [
|
||||
"sp-io/std",
|
||||
"sp-runtime/std",
|
||||
"sp-std/std",
|
||||
"substrate-wasm-builder",
|
||||
]
|
||||
|
||||
@@ -16,22 +16,26 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
use substrate_wasm_builder::WasmBuilder;
|
||||
|
||||
fn main() {
|
||||
// regular build
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build();
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build();
|
||||
}
|
||||
|
||||
// and building with tracing activated
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.set_file_name("wasm_binary_with_tracing.rs")
|
||||
.append_to_rust_flags(r#"--cfg feature="with-tracing""#)
|
||||
.build();
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.set_file_name("wasm_binary_with_tracing.rs")
|
||||
.append_to_rust_flags(r#"--cfg feature="with-tracing""#)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,8 +19,14 @@ sp-runtime-interface = { version = "7.0.0", default-features = false, path = "..
|
||||
sp-std = { version = "5.0.0", default-features = false, path = "../../std" }
|
||||
|
||||
[build-dependencies]
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder" }
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder", optional = true }
|
||||
|
||||
[features]
|
||||
default = [ "std" ]
|
||||
std = [ "sp-core/std", "sp-io/std", "sp-runtime-interface/std", "sp-std/std" ]
|
||||
std = [
|
||||
"sp-core/std",
|
||||
"sp-io/std",
|
||||
"sp-runtime-interface/std",
|
||||
"sp-std/std",
|
||||
"substrate-wasm-builder",
|
||||
]
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
use substrate_wasm_builder::WasmBuilder;
|
||||
|
||||
fn main() {
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build()
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,14 @@ sp-runtime-interface = { version = "7.0.0", default-features = false, path = "..
|
||||
sp-std = { version = "5.0.0", default-features = false, path = "../../std" }
|
||||
|
||||
[build-dependencies]
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder" }
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../../utils/wasm-builder", optional = true }
|
||||
|
||||
[features]
|
||||
default = [ "std" ]
|
||||
std = [ "sp-core/std", "sp-io/std", "sp-runtime-interface/std", "sp-std/std" ]
|
||||
std = [
|
||||
"sp-core/std",
|
||||
"sp-io/std",
|
||||
"sp-runtime-interface/std",
|
||||
"sp-std/std",
|
||||
"substrate-wasm-builder",
|
||||
]
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
use substrate_wasm_builder::WasmBuilder;
|
||||
|
||||
fn main() {
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build()
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ substrate-test-runtime-client = { version = "2.0.0", path = "./client" }
|
||||
futures = "0.3.21"
|
||||
|
||||
[build-dependencies]
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../utils/wasm-builder" }
|
||||
substrate-wasm-builder = { version = "5.0.0-dev", path = "../../utils/wasm-builder", optional = true }
|
||||
|
||||
[features]
|
||||
default = [
|
||||
@@ -101,6 +101,7 @@ std = [
|
||||
"sp-trie/std",
|
||||
"sp-transaction-pool/std",
|
||||
"trie-db/std",
|
||||
"substrate-wasm-builder",
|
||||
]
|
||||
# Special feature to disable logging
|
||||
disable-logging = [ "sp-api/disable-logging" ]
|
||||
|
||||
@@ -15,24 +15,28 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
use substrate_wasm_builder::WasmBuilder;
|
||||
|
||||
fn main() {
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
// Note that we set the stack-size to 1MB explicitly even though it is set
|
||||
// to this value by default. This is because some of our tests (`restoration_of_globals`)
|
||||
// depend on the stack-size.
|
||||
.append_to_rust_flags("-Clink-arg=-zstack-size=1048576")
|
||||
.import_memory()
|
||||
.build();
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
// Note that we set the stack-size to 1MB explicitly even though it is set
|
||||
// to this value by default. This is because some of our tests
|
||||
// (`restoration_of_globals`) depend on the stack-size.
|
||||
.append_to_rust_flags("-Clink-arg=-zstack-size=1048576")
|
||||
.import_memory()
|
||||
.build();
|
||||
}
|
||||
|
||||
WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.set_file_name("wasm_binary_logging_disabled.rs")
|
||||
.enable_feature("disable-logging")
|
||||
.build();
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
.with_current_project()
|
||||
.export_heap_base()
|
||||
.import_memory()
|
||||
.set_file_name("wasm_binary_logging_disabled.rs")
|
||||
.enable_feature("disable-logging")
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,23 +8,24 @@ The Wasm builder is a tool that integrates the process of building the WASM bina
|
||||
A project that should be compiled as a Wasm binary needs to:
|
||||
|
||||
1. Add a `build.rs` file.
|
||||
2. Add `wasm-builder` as dependency into `build-dependencies`.
|
||||
2. Add `wasm-builder` as dependency into `build-dependencies` (can be made optional and only enabled when `std` feature is used).
|
||||
|
||||
The `build.rs` file needs to contain the following code:
|
||||
|
||||
```rust
|
||||
use substrate_wasm_builder::WasmBuilder;
|
||||
|
||||
fn main() {
|
||||
WasmBuilder::new()
|
||||
// Tell the builder to build the project (crate) this `build.rs` is part of.
|
||||
.with_current_project()
|
||||
// Make sure to export the `heap_base` global, this is required by Substrate
|
||||
.export_heap_base()
|
||||
// Build the Wasm file so that it imports the memory (need to be provided by at instantiation)
|
||||
.import_memory()
|
||||
// Build it.
|
||||
.build()
|
||||
#[cfg(feature = "std")]
|
||||
{
|
||||
substrate_wasm_builder::WasmBuilder::new()
|
||||
// Tell the builder to build the project (crate) this `build.rs` is part of.
|
||||
.with_current_project()
|
||||
// Make sure to export the `heap_base` global, this is required by Substrate
|
||||
.export_heap_base()
|
||||
// Build the Wasm file so that it imports the memory (need to be provided by at instantiation)
|
||||
.import_memory()
|
||||
// Build it.
|
||||
.build();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user