patch-prolog-compiler 0.3.0

Standalone Prolog compiler (plgc) — compiles .pl to native binaries via LLVM
[package]
name = "patch-prolog-compiler"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Standalone Prolog compiler (plgc) — compiles .pl to native binaries via LLVM"

[[bin]]
name = "plgc"
path = "src/main.rs"

[lib]
name = "plgc"
path = "src/lib.rs"

[features]
# Embeds BOTH wasm runtime archives so plgc can emit `--target wasm32-wasi`
# (Tier 1, docs/design/done/WASM.md) and `--target worker` (Tier 2 reactor,
# docs/design/done/WASM_TIER2_PLAN.md) modules. Off by default: the standard
# `cargo install plgc` is unchanged and needs no wasm toolchain. Requires
# `just build-runtime-wasm` and `just build-runtime-wasm-reactor` to have
# produced the archives first (both run by `just install-wasm`).
wasm = []

[dependencies]
plg-shared = { path = "../shared", version = "=0.3.0", package = "patch-prolog-shared" }
plg-frontend = { path = "../frontend", version = "=0.3.0", package = "patch-prolog-frontend" }
clap.workspace = true
clap_complete.workspace = true
tempfile.workspace = true

[build-dependencies]
# Version must EXACTLY match workspace version — enforced by build.rs.
# Declared as a build-dependency so cargo builds libplg_runtime.a
# BEFORE this crate's build.rs looks for it.
plg-runtime = { path = "../runtime", version = "=0.3.0", package = "patch-prolog-runtime" }
toml.workspace = true

[dev-dependencies]
tempfile.workspace = true