Make cli compilable again

This commit is contained in:
Syrus Akbary
2023-02-24 13:51:37 -08:00
parent 1f64ba13e0
commit 9ed86ad6db
4 changed files with 16 additions and 8 deletions

View File

@@ -226,7 +226,7 @@ impl CreateExe {
return Err(anyhow::anyhow!("input path cannot be a directory"));
}
let (store, compiler_type) = self.compiler.get_store_for_target(target.clone())?;
let (mut store, compiler_type) = self.compiler.get_store_for_target(target.clone())?;
println!("Compiler: {}", compiler_type.to_string());
println!("Target: {}", target.triple());
@@ -749,14 +749,13 @@ fn compile_atoms(
}
continue;
}
let (store, _) = compiler.get_store_for_target(target.clone())?;
match object_format {
ObjectFormat::Symbols => {
let engine = store.engine();
let (engine, _) = compiler.get_engine_for_target(target.clone())?;
let engine_inner = engine.inner();
let compiler = engine_inner.compiler()?;
let features = engine_inner.features();
let tunables = store.engine().tunables();
let tunables = engine.tunables();
let (module_info, obj, _, _) = Artifact::generate_object(
compiler,
data,
@@ -773,6 +772,7 @@ fn compile_atoms(
writer.flush()?;
}
ObjectFormat::Serialized => {
let (store, _) = compiler.get_store_for_target(target.clone())?;
let module_name = ModuleMetadataSymbolRegistry {
prefix: prefix.clone(),
}
@@ -963,7 +963,7 @@ pub(super) fn prepare_directory_from_single_wasm_file(
// reads the module info from the wasm module and writes the ModuleInfo for each file
// into the entrypoint.json file
fn get_module_infos(
store: &mut Store,
mut store: &mut Store,
directory: &Path,
atoms: &[(String, Vec<u8>)],
object_format: ObjectFormat,

View File

@@ -91,12 +91,11 @@ impl GenCHeader {
&target_triple,
&self.cpu_features,
);
let (store, _) = CompilerOptions::default().get_store_for_target(target.clone())?;
let engine = store.engine();
let (engine, _) = CompilerOptions::default().get_engine_for_target(target.clone())?;
let engine_inner = engine.inner();
let compiler = engine_inner.compiler()?;
let features = engine_inner.features();
let tunables = store.engine().tunables();
let tunables = engine.tunables();
let (metadata, _, _) = Artifact::metadata(
compiler,
&file,

View File

@@ -109,6 +109,13 @@ impl CompilerOptions {
Ok((store, compiler_type))
}
/// Gets the Engine for a given target.
pub fn get_engine_for_target(&self, target: Target) -> Result<(Engine, CompilerType)> {
let (compiler_config, compiler_type) = self.get_compiler_config()?;
let engine = self.get_engine(target, compiler_config)?;
Ok((engine, compiler_type))
}
#[cfg(feature = "compiler")]
fn get_engine(
&self,