forked from lambdaclass/cairo_native
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
129 lines (110 loc) · 3.21 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
[package]
name = "cairo-native"
version = "0.1.0"
edition = "2021"
license = "Apache-2.0"
description = "A compiler to convert Cairo's intermediate representation Sierra code to MLIR."
repository = "https://github.com/lambdaclass/cairo_native"
readme = "README.md"
keywords = ["starknet", "cairo", "compiler", "mlir"]
# Explicitly set the resolver to the default for edition >= 2021
# https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html
resolver = "2"
[[bin]]
name = "cairo-native-dump"
required-features = ["build-cli"]
[[bin]]
name = "cairo-native-run"
required-features = ["build-cli"]
[[bin]]
name = "cairo-native-test"
required-features = ["build-cli"]
[features]
default = ["build-cli", "with-runtime"]
build-cli = ["dep:clap", "dep:tracing-subscriber", "dep:anyhow", "dep:cairo-lang-test-plugin", "dep:cairo-lang-runner", "dep:colored", "dep:cairo-felt"]
with-debug-utils = []
with-runtime = ["dep:cairo-native-runtime"]
with-serde = ["dep:serde"]
[dependencies]
bumpalo = "3.14"
cairo-lang-compiler = "2.5.4"
cairo-lang-defs = "2.5.4"
cairo-lang-diagnostics = "2.5.4"
cairo-lang-filesystem = "2.5.4"
cairo-lang-lowering = "2.5.4"
cairo-lang-semantic = "2.5.4"
cairo-lang-sierra = "2.5.4"
cairo-lang-sierra-generator = "2.5.4"
educe = "0.5.11"
id-arena = "2.2"
itertools = "0.12"
lazy_static = "1.4"
libc = "0.2.153"
llvm-sys = "170.0.0"
melior = { version = "0.17.0", features = ["ods-dialects"] }
mlir-sys = "0.2.1"
num-bigint = "0.4.4"
num-traits = "0.2"
starknet-types-core = { version = "0.1.0", default-features = false, features = [
"serde",
] }
tempfile = "3.6"
thiserror = "1.0.58"
tracing = "0.1"
# CLI dependencies
cairo-lang-sierra-ap-change = "2.5.4"
cairo-lang-sierra-gas = "2.5.4"
cairo-lang-starknet = "2.5.4"
cairo-lang-utils = "2.5.4"
cairo-native-runtime = { version = "0.1.0", path = "runtime", optional = true }
clap = { version = "4.5", features = ["derive"], optional = true }
libloading = "0.8.1"
tracing-subscriber = { version = "0.3", features = [
"env-filter",
], optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
anyhow = { version = "1.0", optional = true }
cairo-lang-test-plugin = { version = "2.5.4", optional = true}
cairo-lang-runner = { version = "2.5.4", optional = true}
colored = { version = "2.1.0", optional = true }
# needed to interface with cairo-lang-*
cairo-felt = { version = "0.9.1", optional = true }
[dev-dependencies]
cairo-felt = "0.9.1"
cairo-lang-runner = "2.5.4"
criterion = { version = "0.5.1", features = ["html_reports"] }
lambdaworks-math = "0.6"
pretty_assertions_sorted = "1.2.3"
proptest = "1.4"
test-case = "3.3"
walkdir = "2"
serde_json = { version = "1.0" }
[build-dependencies]
cc = "1.0.92"
[profile.optimized-dev]
inherits = "dev"
opt-level = 3
[profile.ci]
inherits = "dev"
opt-level = 3
debug = "line-tables-only"
[profile.release]
lto = true
codegen-units = 1
# Set the settings for build scripts and proc-macros.
[profile.dev.build-override]
opt-level = 3
# On dev optimize dependencies a bit so it's not as slow.
[profile.dev.package."*"]
opt-level = 1
[[bench]]
name = "benches"
harness = false
[[bench]]
name = "compile_time"
harness = false
[[bench]]
name = "libfuncs"
harness = false
[workspace]
members = ["runtime"]