137 lines
3.4 KiB
TOML
137 lines
3.4 KiB
TOML
[workspace]
|
|
members = [
|
|
"core",
|
|
"core/macros",
|
|
"core/build_playerglobal",
|
|
"desktop",
|
|
"swf",
|
|
"flv",
|
|
"web",
|
|
"web/packages/extension/safari",
|
|
"wstr",
|
|
"scanner",
|
|
"exporter",
|
|
|
|
"frontend-utils",
|
|
|
|
"render",
|
|
"render/canvas",
|
|
"render/naga-agal",
|
|
"render/wgpu",
|
|
"render/webgl",
|
|
|
|
"ruffle_gc_arena",
|
|
|
|
"stub-report",
|
|
|
|
"video",
|
|
"video/software",
|
|
"video/external",
|
|
|
|
"tests",
|
|
"tests/input-format",
|
|
"tests/socket-format",
|
|
"tests/mocket",
|
|
"tests/framework",
|
|
]
|
|
default-members = ["desktop"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
authors = ["Ruffle LLC <ruffle@ruffle.rs>"]
|
|
edition = "2021"
|
|
homepage = "https://ruffle.rs"
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/ruffle-rs/ruffle"
|
|
version = "0.1.0"
|
|
|
|
[workspace.dependencies]
|
|
tracing = "0.1.40"
|
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
|
naga = { version = "0.20.0", features = ["wgsl-out"] }
|
|
wgpu = "0.20.1"
|
|
egui = "0.28.1"
|
|
clap = { version = "4.5.9", features = ["derive"] }
|
|
anyhow = "1.0"
|
|
slotmap = "1.0.7"
|
|
async-channel = "2.3.1"
|
|
bitflags = "2.6.0"
|
|
bytemuck = "1.16.1"
|
|
chrono = { version = "0.4.38", default-features = false }
|
|
enum-map = "2.7.3"
|
|
flate2 = "1.0.30"
|
|
futures = "0.3.30"
|
|
image = { version = "0.25.1", default-features = false }
|
|
js-sys = "0.3.69"
|
|
log = "0.4"
|
|
num-derive = "0.4.2"
|
|
num-traits = "0.2.19"
|
|
serde = "1.0.204"
|
|
thiserror = "1.0"
|
|
url = "2.5.2"
|
|
wasm-bindgen = "=0.2.92"
|
|
walkdir = "2.5.0"
|
|
tokio = { version = "1.38.0" }
|
|
|
|
[workspace.lints.rust]
|
|
# Clippy nightly often adds new/buggy lints that we want to ignore.
|
|
# Don't warn about these new lints on stable.
|
|
renamed_and_removed_lints = "allow"
|
|
unknown_lints = "allow"
|
|
|
|
[workspace.lints.clippy]
|
|
# LONG-TERM: These lints are unhelpful.
|
|
manual_map = "allow" # Less readable: Suggests `opt.map(..)` instsead of `if let Some(opt) { .. }`
|
|
manual_range_contains = "allow" # Less readable: Suggests `(a..b).contains(n)` instead of `n >= a && n < b`
|
|
assigning_clones = "allow" # Sometimes useful, but more often than not it doesn't do anything as
|
|
# we overwrite an empty item. And sometimes it can even be a footgun
|
|
# by keeping big allocations alive.
|
|
|
|
# Don't optimize build scripts and macros.
|
|
[profile.release.build-override]
|
|
opt-level = 0
|
|
|
|
[profile.dev]
|
|
panic = "unwind"
|
|
|
|
[profile.release]
|
|
panic = "abort"
|
|
|
|
[profile.dev.package.h263-rs]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.h263-rs-yuv]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.nihav_core]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.nihav_codec_support]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.nihav_duck]
|
|
opt-level = 3
|
|
|
|
# TODO: Set rustflags here instead of in web/core/package.json, when that
|
|
# feature becomes stable. See: https://github.com/rust-lang/cargo/issues/10271
|
|
# Until then, these custom profiles let cargo keep the build cache alive
|
|
# across "dual-wasm" builds, separating it for the two .wasm modules.
|
|
[profile.web-vanilla-wasm]
|
|
inherits = "release"
|
|
|
|
[profile.web-wasm-extensions]
|
|
inherits = "release"
|
|
|
|
[profile.ci]
|
|
inherits = "release"
|
|
debug-assertions = true
|
|
overflow-checks = true
|
|
# "Not too slow to compile, fast enough to run."
|
|
opt-level = 2
|
|
# Takes too long, especially on Windows, with marginal benefit otherwise.
|
|
lto = "off"
|
|
# This is also set with higher authority in `test_rust.yml`.
|
|
incremental = true
|
|
# Right between the defaults of 16 and 256, for crate fragment caching.
|
|
codegen-units = 64
|