From ab111443be09ed7824833c14958e2efcb8c005f1 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Mon, 2 Dec 2019 15:34:40 -0800 Subject: [PATCH] Improve default compiler story for wasmer cli This commit reenables the clif compiler as the default for wasmer cli, updates an error message, and adds a compile_error if no backends are enabled. --- Cargo.toml | 2 +- src/bin/wasmer.rs | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 557fade49e3..3d1a6b847d1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,7 +74,7 @@ serde = { version = "1", features = ["derive"] } # used by the plugin example typetag = "0.1" # used by the plugin example [features] -default = ["fast-tests", "wasi"] +default = ["fast-tests", "wasi", "backend-cranelift"] "loader-kernel" = ["wasmer-kernel-loader"] debug = ["wasmer-runtime-core/debug"] trace = ["wasmer-runtime-core/trace"] diff --git a/src/bin/wasmer.rs b/src/bin/wasmer.rs index 457b6f51060..595c135022e 100644 --- a/src/bin/wasmer.rs +++ b/src/bin/wasmer.rs @@ -40,6 +40,13 @@ use wasmer_runtime_core::{ #[cfg(feature = "wasi")] use wasmer_wasi; +#[cfg(all( + not(feature = "backend-cranelift"), + not(feature = "backend-llvm"), + not(feature = "backend-singlepass") +))] +compile_error!("Please enable at least one of the compiler backends"); + #[derive(Debug, StructOpt)] #[structopt(name = "wasmer", about = "Wasm execution runtime.", author)] /// The options for the wasmer Command Line Interface @@ -560,7 +567,12 @@ fn execute_wasm(options: &Run) -> Result<(), String> { let compiler: Box = match get_compiler_by_backend(options.backend, options) { Some(x) => x, - None => return Err("the requested backend is not enabled".into()), + None => { + return Err(format!( + "the requested backend, \"{}\", is not enabled", + options.backend.to_string() + )) + } }; #[cfg(feature = "backend-llvm")]