[workspace] # Here we declare that this is a workspace, containing several crates # within it. # # Please keep this list topologically sorted by dependency relation, so # that every crate appears _before_ any other crate that depends on it. members = [ "crates/lox-distributor", "crates/lox-library", "crates/lox-utils", "crates/lox-wasm", "crates/rdsys-backend-api", ] resolver = "2" [profile.release] # By default we'd like to get good performance and a small download size. # (Assuming xz compression on the binary.) # # The biggest win is to run `strip --strip-debug` on the binary after # generating it, to throw out debugging symbols that we inherited from # other libraries. Don't do `strip --strip-unused`, though, or you'll # break backtraces. That saves about 21% download size. # Using LTO saves a further 14% of download size, and improves performance, # at the cost of compile time. lto = true # Setting codegen-units=1 saves a further 7% download size. It also # improves performance at the cost of compile time. codegen-units = 1 # Optimize for size. [Actually this is even smaller than 'z' on rust # 1.56. It saves about 11% download size over the default value of '3'.] opt-level = 's' [profile.quicktest] # This profile is meant to be a compromise between "release" (which # takes a long time to build) and "dev" (which can be too slow to actually # use when connecting over the Tor network). inherits = "release" lto = "thin" codegen-units = 16 opt-level = 2 incremental = true