Hi, Long story short, a lot of Rust upstreams are ricing in their Cargo.toml: enabling LTO, adjusting LTO jobs to exactly 1, and even weirder stuff. With C, we generally have clear policies to override this and respect user flags. With Rust, things aren't that clear.
Say, let's look at fractal: [profile.release] debug = true lto = "thin" codegen-units = 1 Upstream is enabling LTO with 1 job (i.e. single threaded) to squeeze as much as they can from it. Also, they are enabling debug symbols for some reason. As a result, the build takes 45 minutes, if it doesn't OOM first. How much of that stuff should we respect? Or should we perhaps override it all? Should we do some special magic via eclass, or perhaps expect users to set specific RUSTFLAGS for that? Perhaps set default RUSTFLAGS in the profiles? -- Best regards, Michał Górny
signature.asc
Description: This is a digitally signed message part