-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
76 lines (64 loc) · 2.16 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[package]
name = "cursed"
version = "0.1.0"
edition = "2021"
authors = ["Geoffrey Huntley"]
description = "CURSED Programming Language - Gen Z slang meets Go-like grammar"
repository = "https://github.com/ghuntley/cursed"
license = "MIT"
readme = "README.md"
[lints.rust]
missing_docs = "allow"
unused_imports = "allow"
unused_variables = "allow"
dead_code = "allow"
unused_assignments = "allow"
unused_unsafe = "allow"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
thiserror = "1.0" # For ergonomic error handling
clap = { version = "4.4", features = ["derive"] } # For command-line argument parsing
rustyline = "12.0" # For REPL functionality
log = "0.4" # Logging facade
env_logger = "0.10" # Logging implementation
dirs = "5.0" # For finding home directory
num-traits = "0.2" # For numerical traits
libc = "0.2" # For C functions like strlen
inkwell = { version = "0.4", features = ["llvm17-0"] } # LLVM bindings
# Cryptography related dependencies
sha1 = "0.10" # SHA-1 hash algorithm
sha2 = "0.10" # SHA-2 hash algorithms
md5 = "0.7" # MD5 hash algorithm
hmac = "0.12" # HMAC message authentication
bcrypt = "0.15" # Password hashing
aes = "0.8" # AES encryption
block-modes = "0.9" # Block cipher operation modes
hex = "0.4" # Hex encoding/decoding
rand = "0.8" # Random number generation
# Regex support
regex = "1.10" # Regular expression support
[dev-dependencies]
criterion = "0.5" # For benchmarking
pretty_assertions = "1.4" # For nicer test output
proptest = "1.3" # For property-based testing
[workspace]
members = [
"."
]
[[bin]]
name = "cursed"
path = "src/main.rs"
[profile.release]
lto = true # Enable Link Time Optimization for smaller binaries
codegen-units = 1 # Optimize for size and performance
opt-level = 3 # Maximum optimization
panic = "abort" # Remove panic unwinding code in release builds
strip = true # Strip symbols from the binary
[profile.dev]
opt-level = 0 # No optimization for faster compilation
debug = true # Full debug info
[[test]]
name = "jit_integration_tests"
path = "tests/jit_integration_tests.rs"
harness = true
# Test configuration removed