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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to