Rak

Rak Cargo.toml

1.9 KB 60 lines Raw ↗ GitHub ↗

[workspace]members = [    "rakc",    "ide/src-tauri",    "stdlib",    "rakpkg",    "rak-setup",]resolver = "2"[workspace.package]version = "8.0.0"edition = "2021"authors = ["Ryuzaki"]license = "MIT OR Apache-2.0"repository = "https://github.com/ryuzaki/rak"[workspace.dependencies]# Common dependencies across cratesthiserror = "1.0"anyhow = "1.0"serde = { version = "1.0", features = ["derive"] }tokio = { version = "1", features = ["full"] }tracing = "0.1"tracing-subscriber = "0.3"# Compiler specificlogos = "0.14"          # Lexer generatorchumsky = "1.0"         # Parser combinator (or lalrpop / pest)# inkwell = { version = "0.2", features = ["llvm15-0"] } # LLVM backend (optional)# IDE / Tauritauri = { version = "1.6", features = ["shell-open"] }serde_json = "1.0"tower-lsp = "0.20"       # LSP server implementationtokio-util = "0.7"# Release hardening. These are the compiler-level defenses Rak can actually# make about itself; they do not replace the missing control-flow integrity# support noted in docs/V8-ROADMAP.md.##   lto + codegen-units=1  whole-program optimisation, so a bounds check in#                          one crate can be folded against a caller in another#                          instead of living behind an opaque call#   overflow-checks=true   keep arithmetic overflow panicking in release. The#                          default is `false`, which silently wraps and turns#                          a length calculation into a heap overflow#   panic=abort            no unwinding through the FFI trampolines#   strip                  no symbols to attach a debugger to by accident[profile.release]lto = "fat"codegen-units = 1overflow-checks = truepanic = "abort"strip = "symbols"# The fuzzing crate and the IDE both want a usable panic message, so they get# their own profile rather than inheriting `panic = "abort"`.[profile.release.package."*"]opt-level = 2