On Tue, Oct 8, 2024 at 11:25 PM Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx> wrote: > > On Tue, Oct 8, 2024 at 3:49 PM Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote: > > > > When using unstable features with the Rust compiler, you must either use > > a nightly compiler release or set the RUSTC_BOOTSTRAP environment > > variable. Otherwise, the compiler will emit a compiler error. This > > environment variable is missing when rustc-option is executed, so add > > the environment variable. > > Yeah, `$(shell ...` does not pass the environment, so we need it. Really? $(shell ...) inherits env variables in my understanding. > > This change is necessary to avoid two kinds of problems: > > > > 1. When using rustc-option to test whether a -Z flag is available, the > > check will always fail, even if the flag is available. > > 2. If KBUILD_RUSTFLAGS happens to contain any -Z flags from the > > environment, even if unrelated to the flag being tested, then all > > invocations of rustc-option everywhere will fail. > > > > I was not actually able to trigger the second kind of problem with the > > makefiles that exist today, but it seems like it could easily start > > being a problem due to complicated interactions between changes. It is > > better to fix this now so it doesn't surprise us later. > > > > I added the flag under try-run as this seemed like the easiest way to > > make sure that the fix applies to all variations of rustc-option, > > including new ones added in the future. > > > > Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx> > > I think we need an `export` there. > > I am also rechecking this, and I didn't get a reply from: > > https://lore.kernel.org/rust-for-linux/CANiq72mv5E0PvZRW5eAEvqvqj74PH01hcRhLWTouB4z32jTeSA@xxxxxxxxxxxxxx/ > > And I forgot about it, which is my mistake too -- I still think we > need it (and we should not use `-o` either together with it, I think). > > I can take a look... No. You need to understand who expands it. TMPOUT=$(TMPOUT); was needed because you used -out-dir="$$TMPOUT" It should be -out-dir=$(TMPOUT) Such pointless code is unneeded. -- Best Regards Masahiro Yamada