feat: Rename wasmer-engine-native to wasmer-engine-dylib.

This commit is contained in:
Ivan Enderlin
2021-05-28 09:13:23 +02:00
parent e11fc26df6
commit 3d66a2e360
54 changed files with 502 additions and 535 deletions

View File

@@ -22,7 +22,7 @@ wasmer-compiler-llvm = { version = "1.0.2", path = "../compiler-llvm", optional
wasmer-emscripten = { version = "1.0.2", path = "../emscripten", optional = true }
wasmer-engine = { version = "1.0.2", path = "../engine" }
wasmer-engine-universal = { version = "1.0.2", path = "../engine-universal", optional = true }
wasmer-engine-shared-object = { version = "1.0.2", path = "../engine-shared-object", optional = true }
wasmer-engine-dylib = { version = "1.0.2", path = "../engine-dylib", optional = true }
wasmer-engine-object-file = { version = "1.0.2", path = "../engine-object-file", optional = true }
wasmer-middlewares = { version = "1.0.2", path = "../middlewares", optional = true }
wasmer-wasi = { version = "1.0.2", path = "../wasi", optional = true }
@@ -59,8 +59,8 @@ universal = [
"wasmer-engine-universal",
"engine",
]
shared-object = [
"wasmer-engine-shared-object",
dylib = [
"wasmer-engine-dylib",
"engine",
]
object-file = [
@@ -70,7 +70,7 @@ object-file = [
compiler = [
"wasmer/compiler",
"wasmer-engine-universal/compiler",
"wasmer-engine-shared-object/compiler",
"wasmer-engine-dylib/compiler",
"wasmer-engine-object-file/compiler"
]
singlepass = [

View File

@@ -12,10 +12,10 @@ use crate::error::{update_last_error, CApiError};
use cfg_if::cfg_if;
use std::sync::Arc;
use wasmer::Engine;
#[cfg(feature = "dylib")]
use wasmer_engine_dylib::Dylib;
#[cfg(feature = "object-file")]
use wasmer_engine_object_file::ObjectFile;
#[cfg(feature = "shared-object")]
use wasmer_engine_shared_object::SharedObject;
#[cfg(feature = "universal")]
use wasmer_engine_universal::Universal;
@@ -69,9 +69,9 @@ pub enum wasmer_engine_t {
/// [`wasmer_engine_universal`] Rust crate.
UNIVERSAL = 0,
/// Variant to represent the Shared Object engine. See the
/// [`wasmer_engine_shared_object`] Rust crate.
SHARED_OBJECT = 1,
/// Variant to represent the Dylib engine. See the
/// [`wasmer_engine_dylib`] Rust crate.
DYLIB = 1,
/// Variant to represent the Object File engine. See the
/// [`wasmer_engine_object_file`] Rust crate.
@@ -83,8 +83,8 @@ impl Default for wasmer_engine_t {
cfg_if! {
if #[cfg(feature = "universal")] {
Self::UNIVERSAL
} else if #[cfg(feature = "shared-object")] {
Self::SHARED_OBJECT
} else if #[cfg(feature = "dylib")] {
Self::DYLIB
} else if #[cfg(feature = "object-file")] {
Self::OBJECT_FILE
} else {
@@ -249,9 +249,9 @@ pub extern "C" fn wasm_config_set_compiler(
/// if (wasmer_is_engine_available(UNIVERSAL)) {
/// wasm_config_set_engine(config, UNIVERSAL);
/// }
/// // Or maybe the Shared Object engine?
/// else if (wasmer_is_engine_available(SHARED_OBJECT)) {
/// wasm_config_set_engine(config, SHARED_OBJECT);
/// // Or maybe the Dylib engine?
/// else if (wasmer_is_engine_available(DYLIB)) {
/// wasm_config_set_engine(config, DYLIB);
/// }
/// // OK, let's do not specify any particular engine.
///
@@ -330,8 +330,8 @@ cfg_if! {
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(Universal::headless().engine());
Box::new(wasm_engine_t { inner: engine })
}
} else if #[cfg(all(feature = "shared-object", feature = "compiler"))] {
/// Creates a new shared object engine with the default compiler.
} else if #[cfg(all(feature = "dylib", feature = "compiler"))] {
/// Creates a new Dylib engine with the default compiler.
///
/// # Example
///
@@ -341,11 +341,11 @@ cfg_if! {
#[no_mangle]
pub extern "C" fn wasm_engine_new() -> Box<wasm_engine_t> {
let compiler_config: Box<dyn CompilerConfig> = get_default_compiler_config();
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(SharedObject::new(compiler_config).engine());
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(Dylib::new(compiler_config).engine());
Box::new(wasm_engine_t { inner: engine })
}
} else if #[cfg(feature = "shared-object")] {
/// Creates a new headless shared object engine.
} else if #[cfg(feature = "dylib")] {
/// Creates a new headless Dylib engine.
///
/// # Example
///
@@ -354,7 +354,7 @@ cfg_if! {
/// cbindgen:ignore
#[no_mangle]
pub extern "C" fn wasm_engine_new() -> Box<wasm_engine_t> {
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(SharedObject::headless().engine());
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(Dylib::headless().engine());
Box::new(wasm_engine_t { inner: engine })
}
}
@@ -502,10 +502,10 @@ pub extern "C" fn wasm_engine_new_with_config(
}
}
},
wasmer_engine_t::SHARED_OBJECT => {
wasmer_engine_t::DYLIB => {
cfg_if! {
if #[cfg(feature = "shared-object")] {
let mut builder = SharedObject::new(compiler_config);
if #[cfg(feature = "dylib")] {
let mut builder = Dylib::new(compiler_config);
if let Some(target) = config.target {
builder = builder.target(target.inner);
@@ -517,7 +517,7 @@ pub extern "C" fn wasm_engine_new_with_config(
Arc::new(builder.engine())
} else {
return return_with_error("Wasmer has not been compiled with the `shared-object` feature.");
return return_with_error("Wasmer has not been compiled with the `dylib` feature.");
}
}
},
@@ -565,10 +565,10 @@ pub extern "C" fn wasm_engine_new_with_config(
}
}
},
wasmer_engine_t::SHARED_OBJECT => {
wasmer_engine_t::DYLIB => {
cfg_if! {
if #[cfg(feature = "shared-object")] {
let mut builder = SharedObject::headless();
if #[cfg(feature = "dylib")] {
let mut builder = Dylib::headless();
if let Some(target) = config.target {
builder = builder.target(target.inner);
@@ -580,7 +580,7 @@ pub extern "C" fn wasm_engine_new_with_config(
Arc::new(builder.engine())
} else {
return return_with_error("Wasmer has not been compiled with the `shared-object` feature.");
return return_with_error("Wasmer has not been compiled with the `dylib` feature.");
}
}
},

View File

@@ -120,7 +120,7 @@ pub extern "C" fn wasmer_is_headless() -> bool {
pub extern "C" fn wasmer_is_engine_available(engine: wasmer_engine_t) -> bool {
match engine {
wasmer_engine_t::UNIVERSAL if cfg!(feature = "universal") => true,
wasmer_engine_t::SHARED_OBJECT if cfg!(feature = "shared-object") => true,
wasmer_engine_t::DYLIB if cfg!(feature = "dylib") => true,
wasmer_engine_t::OBJECT_FILE if cfg!(feature = "object-file") => true,
_ => false,
}
@@ -202,14 +202,7 @@ mod tests {
"0"
},
);
set_var(
"SHARED_OBJECT",
if cfg!(feature = "shared-object") {
"1"
} else {
"0"
},
);
set_var("DYLIB", if cfg!(feature = "dylib") { "1" } else { "0" });
set_var(
"OBJECT_FILE",
if cfg!(feature = "object-file") {
@@ -225,7 +218,7 @@ mod tests {
int main() {
assert(wasmer_is_engine_available(UNIVERSAL) == (getenv("UNIVERSAL")[0] == '1'));
assert(wasmer_is_engine_available(SHARED_OBJECT) == (getenv("SHARED_OBJECT")[0] == '1'));
assert(wasmer_is_engine_available(DYLIB) == (getenv("DYLIB")[0] == '1'));
assert(wasmer_is_engine_available(OBJECT_FILE) == (getenv("OBJECT_FILE")[0] == '1'));
return 0;
@@ -234,7 +227,7 @@ mod tests {
.success();
remove_var("UNIVERSAL");
remove_var("SHARED_OBJECT");
remove_var("DYLIB");
remove_var("OBJECT_FILE");
}
}

View File

@@ -34,9 +34,9 @@ wasm_engine_t *wasm_engine_new() {
if (strcmp(wasmer_test_engine, "universal") == 0) {
assert(wasmer_is_engine_available(UNIVERSAL));
wasm_config_set_engine(config, UNIVERSAL);
} else if (strcmp(wasmer_test_engine, "shared-object") == 0) {
assert(wasmer_is_engine_available(SHARED_OBJECT));
wasm_config_set_engine(config, SHARED_OBJECT);
} else if (strcmp(wasmer_test_engine, "dylib") == 0) {
assert(wasmer_is_engine_available(DYLIB));
wasm_config_set_engine(config, DYLIB);
} else if (wasmer_test_engine) {
printf("Engine %s not recognized\n", wasmer_test_engine);
abort();

View File

@@ -125,7 +125,7 @@ typedef enum wasmer_compiler_t {
typedef enum wasmer_engine_t {
UNIVERSAL = 0,
SHARED_OBJECT = 1,
DYLIB = 1,
OBJECT_FILE = 2,
} wasmer_engine_t;