Re: [PATCH] Kbuild: add RUSTC_BOOTSTRAP to rustc-option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 8, 2024 at 8:45 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> Really?
>
> $(shell ...) inherits env variables in my understanding.

I mean the Make-exported variables (not the external environment),
i.e. `RUSTC_BOOTSTRAP=1` that we export in the main `Makefile`. Those
are not exported into the `shell` function.

However, it turns out this changes in GNU Make 4.4 in commit
98da874c4303 ("[SV 10593] Export variables to $(shell ...) commands"):

    * WARNING: Backward-incompatibility!
      Previously makefile variables marked as export were not exported
to commands
      started by the $(shell ...) function.  Now, all exported variables are
      exported to $(shell ...).  If this leads to recursion during
expansion, then
      for backward-compatibility the value from the original
environment is used.
      To detect this change search for 'shell-export' in the .FEATURES variable.

And indeed:

    export A := .PHONY: a
    $(shell echo $$A)
    a: ; @echo exported

Gives:

    $ make-4.3
    make: 'a' is up to date.

    $ make-4.4.1
    exported

Cheers,
Miguel





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux