From 46f90d3415bb95ccd98f92ad95ceffda17a314c2 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Thu, 28 Mar 2019 15:42:34 -0700 Subject: [PATCH 1/2] fix conditional compliation --- src/bin/wasmer.rs | 70 +++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/src/bin/wasmer.rs b/src/bin/wasmer.rs index 29de018e232..9b918318921 100644 --- a/src/bin/wasmer.rs +++ b/src/bin/wasmer.rs @@ -203,39 +203,45 @@ fn execute_wasm(options: &Run) -> Result<(), String> { }; // TODO: refactor this - #[cfg(not(features = "wasi"))] - let (_abi, import_object, _em_globals) = if wasmer_emscripten::is_emscripten_module(&module) { - let mut emscripten_globals = wasmer_emscripten::EmscriptenGlobals::new(&module); - ( - InstanceABI::Emscripten, - wasmer_emscripten::generate_emscripten_env(&mut emscripten_globals), - Some(emscripten_globals), // TODO Em Globals is here to extend, lifetime, find better solution - ) - } else { - ( - InstanceABI::None, - wasmer_runtime_core::import::ImportObject::new(), - None, - ) - }; - - #[cfg(features = "wasi")] - let (_abi, import_object) = if wasmer_wasi::is_wasi_module(&module) { - ( - InstanceABI::WASI, - wasmer_wasi::generate_import_object( - options.args.iter().map(|arg| arg.into_bytes()).collect(), - env::vars() - .iter() - .map(|(k, v)| format!("{}={}", k, v).into_bytes()) - .collect(), - ), - ) + let (_abi, import_object, _em_globals) = if cfg!(feature = "wasi") { + if wasmer_wasi::is_wasi_module(&module) { + ( + InstanceABI::WASI, + wasmer_wasi::generate_import_object( + options + .args + .iter() + .cloned() + .map(|arg| arg.into_bytes()) + .collect(), + env::vars() + .map(|(k, v)| format!("{}={}", k, v).into_bytes()) + .collect(), + ), + None, + ) + } else { + ( + InstanceABI::None, + wasmer_runtime_core::import::ImportObject::new(), + None, + ) + } } else { - ( - InstanceABI::None, - wasmer_runtime_core::import::ImportObject::new(), - ) + if wasmer_emscripten::is_emscripten_module(&module) { + let mut emscripten_globals = wasmer_emscripten::EmscriptenGlobals::new(&module); + ( + InstanceABI::Emscripten, + wasmer_emscripten::generate_emscripten_env(&mut emscripten_globals), + Some(emscripten_globals), // TODO Em Globals is here to extend, lifetime, find better solution + ) + } else { + ( + InstanceABI::None, + wasmer_runtime_core::import::ImportObject::new(), + None, + ) + } }; let mut instance = module From 9478ba71af7d0df5d7c73c09120a1911bf39606a Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Thu, 28 Mar 2019 15:47:00 -0700 Subject: [PATCH 2/2] actually fix it --- src/bin/wasmer.rs | 74 +++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/src/bin/wasmer.rs b/src/bin/wasmer.rs index 9b918318921..5f80c2640f0 100644 --- a/src/bin/wasmer.rs +++ b/src/bin/wasmer.rs @@ -203,45 +203,43 @@ fn execute_wasm(options: &Run) -> Result<(), String> { }; // TODO: refactor this - let (_abi, import_object, _em_globals) = if cfg!(feature = "wasi") { - if wasmer_wasi::is_wasi_module(&module) { - ( - InstanceABI::WASI, - wasmer_wasi::generate_import_object( - options - .args - .iter() - .cloned() - .map(|arg| arg.into_bytes()) - .collect(), - env::vars() - .map(|(k, v)| format!("{}={}", k, v).into_bytes()) - .collect(), - ), - None, - ) - } else { - ( - InstanceABI::None, - wasmer_runtime_core::import::ImportObject::new(), - None, - ) - } + #[cfg(not(feature = "wasi"))] + let (_abi, import_object, _em_globals) = if wasmer_emscripten::is_emscripten_module(&module) { + let mut emscripten_globals = wasmer_emscripten::EmscriptenGlobals::new(&module); + ( + InstanceABI::Emscripten, + wasmer_emscripten::generate_emscripten_env(&mut emscripten_globals), + Some(emscripten_globals), // TODO Em Globals is here to extend, lifetime, find better solution + ) } else { - if wasmer_emscripten::is_emscripten_module(&module) { - let mut emscripten_globals = wasmer_emscripten::EmscriptenGlobals::new(&module); - ( - InstanceABI::Emscripten, - wasmer_emscripten::generate_emscripten_env(&mut emscripten_globals), - Some(emscripten_globals), // TODO Em Globals is here to extend, lifetime, find better solution - ) - } else { - ( - InstanceABI::None, - wasmer_runtime_core::import::ImportObject::new(), - None, - ) - } + ( + InstanceABI::None, + wasmer_runtime_core::import::ImportObject::new(), + None, + ) + }; + + #[cfg(feature = "wasi")] + let (_abi, import_object) = if wasmer_wasi::is_wasi_module(&module) { + ( + InstanceABI::WASI, + wasmer_wasi::generate_import_object( + options + .args + .iter() + .cloned() + .map(|arg| arg.into_bytes()) + .collect(), + env::vars() + .map(|(k, v)| format!("{}={}", k, v).into_bytes()) + .collect(), + ), + ) + } else { + ( + InstanceABI::None, + wasmer_runtime_core::import::ImportObject::new(), + ) }; let mut instance = module