[package]
edition = "2024"
name = "synth-cli"
version = "0.65.0"
authors = ["PulseEngine Team"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI for Synth, the WebAssembly-to-ARM Cortex-M AOT compiler"
homepage = "https://github.com/pulseengine/synth"
readme = false
keywords = [
"webassembly",
"arm",
"cortex-m",
"compiler",
"embedded",
]
categories = [
"compilers",
"embedded",
"wasm",
"no-std",
]
license = "Apache-2.0"
repository = "https://github.com/pulseengine/synth"
resolver = "2"
[features]
awsm = ["synth-backend-awsm"]
default = ["riscv"]
exports_only_275_probe = []
riscv = ["synth-backend-riscv"]
verify = ["synth-verify"]
wasker = ["synth-backend-wasker"]
[[bin]]
name = "synth"
path = "src/main.rs"
[[test]]
name = "a64_dangling_reloc_decline_1013"
path = "tests/a64_dangling_reloc_decline_1013.rs"
[[test]]
name = "aarch64_f32_loudskip_554"
path = "tests/aarch64_f32_loudskip_554.rs"
[[test]]
name = "arm_reloc_dataseg_refusal_1041"
path = "tests/arm_reloc_dataseg_refusal_1041.rs"
[[test]]
name = "arm_reloc_globalinit_refusal_1052"
path = "tests/arm_reloc_globalinit_refusal_1052.rs"
[[test]]
name = "async_intrinsics_gate"
path = "tests/async_intrinsics_gate.rs"
[[test]]
name = "base_cse_flip_468"
path = "tests/base_cse_flip_468.rs"
[[test]]
name = "cabi_arena_bind_418"
path = "tests/cabi_arena_bind_418.rs"
[[test]]
name = "cabi_arena_realloc_linkability_418"
path = "tests/cabi_arena_realloc_linkability_418.rs"
[[test]]
name = "call_indirect_275_selfcontained"
path = "tests/call_indirect_275_selfcontained.rs"
[[test]]
name = "cmp_select_fusion_census"
path = "tests/cmp_select_fusion_census.rs"
[[test]]
name = "cmp_select_two_move_coverage"
path = "tests/cmp_select_two_move_coverage.rs"
[[test]]
name = "const_cse_reduction_242"
path = "tests/const_cse_reduction_242.rs"
[[test]]
name = "dangling_declined_callee_1102"
path = "tests/dangling_declined_callee_1102.rs"
[[test]]
name = "dwarf_debug_line_emit_394"
path = "tests/dwarf_debug_line_emit_394.rs"
[[test]]
name = "elf_tooling_637_656"
path = "tests/elf_tooling_637_656.rs"
[[test]]
name = "fact_spec_bounds_494"
path = "tests/fact_spec_bounds_494.rs"
required-features = ["verify"]
[[test]]
name = "fact_spec_clamp_494"
path = "tests/fact_spec_clamp_494.rs"
required-features = ["verify"]
[[test]]
name = "fact_spec_div_494"
path = "tests/fact_spec_div_494.rs"
required-features = ["verify"]
[[test]]
name = "flag_flip_wave_242"
path = "tests/flag_flip_wave_242.rs"
[[test]]
name = "frozen_codegen_bytes"
path = "tests/frozen_codegen_bytes.rs"
[[test]]
name = "heterogeneous_table_676"
path = "tests/heterogeneous_table_676.rs"
[[test]]
name = "i64_call_arg_decline_929"
path = "tests/i64_call_arg_decline_929.rs"
[[test]]
name = "i64_completeness_503_587"
path = "tests/i64_completeness_503_587.rs"
[[test]]
name = "i64_pair_exhaust_587"
path = "tests/i64_pair_exhaust_587.rs"
[[test]]
name = "multi_memory_406"
path = "tests/multi_memory_406.rs"
[[test]]
name = "multi_sp_rebase_707"
path = "tests/multi_sp_rebase_707.rs"
[[test]]
name = "parity_benchmark_735"
path = "tests/parity_benchmark_735.rs"
[[test]]
name = "promotion_exhaustion_fallback_474"
path = "tests/promotion_exhaustion_fallback_474.rs"
[[test]]
name = "proven_safe_bounds_901"
path = "tests/proven_safe_bounds_901.rs"
[[test]]
name = "proven_safe_imported_memory_932"
path = "tests/proven_safe_imported_memory_932.rs"
[[test]]
name = "provenance_introduced_origin_944"
path = "tests/provenance_introduced_origin_944.rs"
[[test]]
name = "provenance_reconciliation_396"
path = "tests/provenance_reconciliation_396.rs"
[[test]]
name = "recovery_stats_242"
path = "tests/recovery_stats_242.rs"
[[test]]
name = "rv32_cmp_select_flip_472"
path = "tests/rv32_cmp_select_flip_472.rs"
[[test]]
name = "rv32_local_promo_flip_472"
path = "tests/rv32_local_promo_flip_472.rs"
[[test]]
name = "scry_const_remat_signal"
path = "tests/scry_const_remat_signal.rs"
[[test]]
name = "scry_shadow_stack_budget"
path = "tests/scry_shadow_stack_budget.rs"
[[test]]
name = "sentinel_sweep_rq57"
path = "tests/sentinel_sweep_rq57.rs"
[[test]]
name = "shadow_stack_shrink_383"
path = "tests/shadow_stack_shrink_383.rs"
[[test]]
name = "shift_mask_elide_686"
path = "tests/shift_mask_elide_686.rs"
[[test]]
name = "size_attribution_390"
path = "tests/size_attribution_390.rs"
[[test]]
name = "skipped_export_exit_952"
path = "tests/skipped_export_exit_952.rs"
[[test]]
name = "spill_baseline_pressure_390"
path = "tests/spill_baseline_pressure_390.rs"
[[test]]
name = "spill_on_exhaust_242"
path = "tests/spill_on_exhaust_242.rs"
[[test]]
name = "spill_realloc_242"
path = "tests/spill_realloc_242.rs"
[[test]]
name = "start_section_refusal_1046"
path = "tests/start_section_refusal_1046.rs"
[[test]]
name = "static_above_sp_739"
path = "tests/static_above_sp_739.rs"
[[test]]
name = "static_downshift_678"
path = "tests/static_downshift_678.rs"
[[test]]
name = "tabledangle_1102_elem"
path = "tests/tabledangle_1102_elem.rs"
[[test]]
name = "unknown_target_882"
path = "tests/unknown_target_882.rs"
[[test]]
name = "vcr_ver_001_gate_242"
path = "tests/vcr_ver_001_gate_242.rs"
[[test]]
name = "vcr_ver_003_addr_777"
path = "tests/vcr_ver_003_addr_777.rs"
[[test]]
name = "verify_banner_1000"
path = "tests/verify_banner_1000.rs"
[[test]]
name = "verify_report_935"
path = "tests/verify_report_935.rs"
required-features = ["verify"]
[[test]]
name = "volatile_segment_flag_543"
path = "tests/volatile_segment_flag_543.rs"
[[test]]
name = "volatile_segment_phase2_543"
path = "tests/volatile_segment_phase2_543.rs"
[[test]]
name = "wast_callgraph_closure_1168"
path = "tests/wast_callgraph_closure_1168.rs"
[[test]]
name = "wast_compile"
path = "tests/wast_compile.rs"
[[test]]
name = "wcet_bound_gate"
path = "tests/wcet_bound_gate.rs"
[[test]]
name = "wcet_decline_names_op_921"
path = "tests/wcet_decline_names_op_921.rs"
[[test]]
name = "wsc_facts_ingestion_494"
path = "tests/wsc_facts_ingestion_494.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.synth-backend]
version = "0.65.0"
[dependencies.synth-backend-aarch64]
version = "0.65.0"
[dependencies.synth-backend-awsm]
version = "0.65.0"
optional = true
[dependencies.synth-backend-riscv]
version = "0.65.0"
optional = true
[dependencies.synth-backend-wasker]
version = "0.65.0"
optional = true
[dependencies.synth-core]
version = "0.65.0"
[dependencies.synth-frontend]
version = "0.65.0"
[dependencies.synth-synthesis]
version = "0.65.0"
[dependencies.synth-verify]
version = "0.65.0"
features = ["arm"]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
[dependencies.wast]
version = "258.0"
[dependencies.wat]
version = "1.252"
[dev-dependencies.gimli]
version = "0.34"
features = [
"read",
"std",
]
default-features = false
[dev-dependencies.object]
version = "0.40"
features = [
"read",
"elf",
]
default-features = false
[dev-dependencies.scry-sai-core]
version = "3.0"
[dev-dependencies.sha2]
version = "0.11"
[dev-dependencies.wasmparser]
version = "0.256"