Reduce number of crates needed for Config usage

This commit is an attempt to reduce the number of crates necessary to
link to when using `wasmtime::Config` in "default mode" or with only one
or two tweaks. The change moves to a builder-style pattern for `Config`
to only require importing crates as necessary if you configure a
particular setting. This then also propagates that change to `Context`
as well by taking a `Config` instead of requiring that all arguments are
passed alone.
This commit is contained in:
Alex Crichton
2019-11-13 08:00:30 -08:00
parent 98266498af
commit fb60a21930
8 changed files with 88 additions and 96 deletions

View File

@@ -267,13 +267,13 @@ fn main() -> Result<()> {
// Decide how to compile.
let strategy = pick_compilation_strategy(args.flag_cranelift, args.flag_lightbeam);
let config = Config::new(
settings::Flags::new(flag_builder),
features,
debug_info,
strategy,
);
let engine = HostRef::new(Engine::new(config));
let mut config = Config::new();
config
.features(features)
.flags(settings::Flags::new(flag_builder))
.debug_info(debug_info)
.strategy(strategy);
let engine = HostRef::new(Engine::new(&config));
let store = HostRef::new(Store::new(&engine));
let mut module_registry = HashMap::new();