-
Notifications
You must be signed in to change notification settings - Fork 58
/
Cargo.toml
196 lines (182 loc) · 5.75 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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
[workspace]
resolver = "2"
members = [
"crates/polkavm-derive",
"crates/polkavm-derive-impl",
"crates/polkavm-derive-impl-macro",
"crates/polkavm-linker",
"crates/polkavm-assembler",
"crates/polkavm-disassembler",
"crates/polkavm-common",
"crates/polkavm-linux-raw",
"crates/polkavm",
"crates/simplealloc",
"tools/polkatool",
"tools/polkavm-linux-raw-generate",
"tools/spectool",
"examples/doom",
"examples/hello-world",
]
[workspace.package]
version = "0.16.0"
authors = ["Jan Bujak <[email protected]>", "Parity Technologies <[email protected]>"]
license = "MIT/Apache-2.0"
edition = "2021"
rust-version = "1.75.0"
repository = "https://github.com/koute/polkavm"
[workspace.dependencies]
polkavm = { version = "0.16.0", path = "crates/polkavm" }
polkavm-assembler = { version = "0.16.0", path = "crates/polkavm-assembler" }
polkavm-disassembler = { version = "0.16.0", path = "crates/polkavm-disassembler" }
polkavm-common = { version = "0.16.0", path = "crates/polkavm-common" }
polkavm-derive = { version = "0.16.0", path = "crates/polkavm-derive" }
polkavm-derive-impl = { version = "0.16.0", path = "crates/polkavm-derive-impl" }
polkavm-derive-impl-macro = { version = "0.16.0", path = "crates/polkavm-derive-impl-macro" }
polkavm-linker = { version = "0.16.1", path = "crates/polkavm-linker" }
polkavm-linux-raw = { version = "0.16.0", path = "crates/polkavm-linux-raw" }
blake3 = { version = "1.5.4", default-features = false }
clap = "4.4.6"
diff = "0.1.13"
env_logger = { version = "0.10.0", default-features = false }
gimli = { version = "0.31.1", default-features = false }
hashbrown = { version = "0.14.1", default-features = false }
iced-x86 = "1.20.0"
image = { version = "0.24.7", default-features = false }
libc = "0.2.149"
log = "0.4.20"
object = { version = "0.36.1", default-features = false }
paste = "1.0.15"
proc-macro2 = "1.0.69"
proptest = "1.3.1"
quote = "1.0.33"
rustc-demangle = "0.1.23"
ruzstd = { version = "0.4.0", default-features = false }
schnellru = { version = "0.2.3" }
serde = { version = "1.0.203", features = ["derive"] }
serde_json = { version = "1.0.117" }
syn = "2.0.25"
yansi = "0.5.1"
[workspace.lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)', 'cfg(polkavm_dev_debug_zygote)'] }
[workspace.lints.clippy]
# This also triggers on cases like `.or_insert_with(Vec::new)`.
unwrap_or_default = "allow"
get_first = "allow"
manual_range_contains = "allow"
let_unit_value = "allow"
unit_arg = "allow"
type_complexity = "allow"
# These are are 'allow' by default.
alloc_instead_of_core = "warn"
as_ptr_cast_mut = "warn"
as_underscore = "warn"
borrow_as_ptr = "warn"
branches_sharing_code = "warn"
cast_ptr_alignment = "warn"
clear_with_drain = "warn"
clone_on_ref_ptr = "warn"
cloned_instead_of_copied = "warn"
collection_is_never_read = "warn"
copy_iterator = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
default_union_representation = "warn"
disallowed_script_idents = "warn"
doc_link_with_quotes = "warn"
empty_line_after_doc_comments = "warn"
empty_line_after_outer_attr = "warn"
exit = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
fn_params_excessive_bools = "warn"
fn_to_numeric_cast_any = "warn"
format_push_string = "warn"
ignored_unit_patterns = "warn"
implicit_clone = "warn"
implicit_hasher = "warn"
inconsistent_struct_constructor = "warn"
index_refutable_slice = "warn"
inefficient_to_string = "warn"
# infinite_loop = "warn"
iter_not_returning_iterator = "warn"
iter_on_empty_collections = "warn"
iter_on_single_items = "warn"
# iter_over_hash_type = "warn"
large_stack_arrays = "warn"
large_stack_frames = "warn"
large_types_passed_by_value = "warn"
lossy_float_literal = "warn"
manual_instant_elapsed = "warn"
# manual_is_variant_and = "warn"
manual_let_else = "warn"
manual_ok_or = "warn"
manual_string_new = "warn"
map_unwrap_or = "warn"
match_wild_err_arm = "warn"
match_wildcard_for_single_variants = "warn"
maybe_infinite_iter = "warn"
mismatching_type_param_order = "warn"
# missing_assert_message = "warn"
missing_fields_in_debug = "warn"
mixed_read_write_in_expression = "warn"
mut_mut = "warn"
mutex_atomic = "warn"
mutex_integer = "warn"
needless_collect = "warn"
needless_for_each = "warn"
needless_pass_by_ref_mut = "warn"
needless_raw_string_hashes = "warn"
needless_raw_strings = "warn"
no_mangle_with_rust_abi = "warn"
nonstandard_macro_braces = "warn"
# option_as_ref_cloned = "warn"
partial_pub_fields = "warn"
path_buf_push_overwrite = "warn"
print_stderr = "warn"
print_stdout = "warn"
ptr_as_ptr = "warn"
ptr_cast_constness = "warn"
# pub_underscore_fields = "warn"
range_minus_one = "warn"
read_zero_byte_vec = "warn"
readonly_write_lock = "warn"
redundant_clone = "warn"
ref_option_ref = "warn"
rest_pat_in_fully_bound_structs = "warn"
same_functions_in_if_condition = "warn"
same_name_method = "warn"
std_instead_of_core = "warn"
str_to_string = "warn"
string_add = "warn"
string_add_assign = "warn"
string_to_string = "warn"
trailing_empty_array = "warn"
trait_duplication_in_bounds = "warn"
transmute_undefined_repr = "warn"
trivially_copy_pass_by_ref = "warn"
type_repetition_in_bounds = "warn"
undocumented_unsafe_blocks = "warn"
# uninhabited_references = "warn"
unsafe_derive_deserialize = "warn"
unused_peekable = "warn"
unused_self = "warn"
use_debug = "warn"
used_underscore_binding = "warn"
cast_lossless = "deny"
expl_impl_clone_on_copy = "deny"
transmute_ptr_to_ptr = "deny"
[profile.dev.package]
hashbrown = { opt-level = 3 }
gimli = { opt-level = 3 }
image = { opt-level = 3 }
ruzstd = { opt-level = 3 }
# To speed up the tests.
polkavm-assembler = { opt-level = 3 }
[profile.release]
lto = true
codegen-units = 1
debug = true
[profile.release-lite]
inherits = "release"
lto = false
codegen-units = 8