Skip to content

Gate the FastFieldNative precompile lane behind a config option #18

Description

@mitschabaude-bot

Downstream request from ironwood: the zcash review policy cannot accept plugin loading in its build — and Lake offers no consumer-side opt-out (Module.shouldPrecompile consults only the declaring library's precompileModules flag), so ironwood inherits libCompElliptic_FastFieldNative.so being built and loaded into its elaborator through the pin, regardless of anything in ironwood's own lakefile.

Ironwood has removed its local precompile lane and moved its native_decide evaluation to GMP-backed Nat spellings (interpreted; the ~1.55× interpreter penalty on GMP-bound code is acceptable there). The one remaining plugin source is this lane.

Proposal: make the flag conditional, e.g.

precompileModules := (get_config? precompile).isSome

so a plain build (including all downstream dependency builds) skips native codegen entirely, while lake build -Kprecompile restores today's behavior for anyone measuring the fast lane. scripts/check_native_lane.sh would gate the same way. The mathematics is untouched either way — this was anticipated when the lane landed as a judge-separately component in #13.

Happy to send the PR for it if the direction is fine.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions