bug-make
[Top][All Lists]
Advanced

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

[bug #64803] Fix origin of variables from env when -e is set.


From: Dmitry Goncharov
Subject: [bug #64803] Fix origin of variables from env when -e is set.
Date: Sat, 21 Oct 2023 17:35:18 -0400 (EDT)

Follow-up Comment #1, bug #64803 (project make):

Variables inherited from env have incorrect origin 'environment' when -e is
set
and the makefile does not modify the variable.



$ ls
makefile
$ cat makefile
$(info at parse time hello=$(hello), origin = $(origin hello))
all:; $(info at build time hello=$(hello), origin = $(origin hello))
$ # this is the latest make from master
$ hello=world ~/src/make/m64/make -e
at parse time hello=world, origin = environment
at build time hello=world, origin = environment
make: 'all' is up to date.
$ hello=world make-4.3 -e
at parse time hello=world, origin = environment
at build time hello=world, origin = environment
make-4.3: 'all' is up to date.



This happens because make goes through env variables and defines related make
variables
before the command line switches are processed and make has not figured out
yet that
-e is specified.
This patch reads command line switches and sets global variable
'env_overrides' before 
going through env variables.

This fix is split into 2 patches. The patches are supposed to be applied in
order, part1 before part2. This split keeps logically independent
changes in separate commits. Hopefully, this will make review easier and
allows
to refer to or revert individual commits.




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?64803>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]