Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 1.44 KB

File metadata and controls

59 lines (44 loc) · 1.44 KB

Echidna — Developer Quickstart

Prerequisites

  • Git 2.40+

  • just (command runner)

  • See just doctor output for language-specific requirements

Setup

git clone https://github.com/hyperpolymath/echidna
cd echidna
just doctor    # verify toolchain
just heal      # auto-install missing tools

Development Workflow

just tour      # understand the codebase
just help-me   # see available commands

The Rust core exposes an optional parallel-search path that calls into Chapel via a Zig FFI bridge. It is feature-gated and off by default.

cd src/zig_ffi && zig build    # builds libechidna_chapel_ffi.{a,so}
                               # default -Dstubs=true bundles chapel_stubs.c
                               # so Rust links cleanly without Chapel
cd ../..
cargo build --features chapel
cargo test  --features chapel --lib proof_search

With Chapel actually installed and libechidna_chapel.so built from chapel_poc/, pass -Dstubs=false to the Zig build and link the Chapel library alongside. Stubs return "Chapel unavailable" at runtime so cargo test --features chapel still passes on hosts without Chapel.

Before Committing

just assail    # run panic-attacker security scan

Contributing

See CONTRIBUTING.md for guidelines.