Re: Exponential Runtime in make 4.4.1 when export is used

2023-10-10 Thread Till Backhaus
Thank you Eddy, Prefix: I reported the issue via email and the issue tracker (didn't find the signup button at first, sent an email, found the signup button) where it's filed as https://savannah.gnu.org/bugs/index.php?64746. What Dimitry and you Eddy suggested definitely makes makes sense. Yet, I

Re: Exponential Runtime in make 4.4.1 when export is used

2023-10-09 Thread Edward Welbourne
On Wed, Oct 4, 2023 at 6:09 PM Till Backhaus wrote: >> This rather short Makefile shows exponential runtime depending on the number >> of variables. >> VAR_1 ?= $(shell echo 1) Dmitry Goncharov (6 October 2023 17:35) replied, ending: > Prefer simply expanded variables with $(shell). and if you

[bug #64746] Exponential Runtime in make 4.4.1 when export is used

2023-10-06 Thread Paul D. Smith
Follow-up Comment #3, bug #64746 (project make): Many have asked for a new "optional simple assignment" variant. I'm not opposed to it. Another option that will work with most currently available versions of GNU make, although it looks somewhat scary, is described here: https://make.mad-scienti

[bug #64746] Exponential Runtime in make 4.4.1 when export is used

2023-10-06 Thread Till Backhaus
Follow-up Comment #2, bug #64746 (project make): That explanation was really helpful. I discovered the difference between recursively expanded variables and simple expanded variables only after posting this issue, but I was still confused why recursive expanded variables would cause this behavior.

[bug #64746] Exponential Runtime in make 4.4.1 when export is used

2023-10-06 Thread Dmitry Goncharov
Follow-up Comment #1, bug #64746 (project make): VAR_1 is a recursively expanded variable. When make defines this variable, the value is set to string '$(shell echo 1)'. No subshell is spawned at this time. Each time make expands this variable, make spawns a shell and has the shell execute 'echo 1

Re: Exponential Runtime in make 4.4.1 when export is used

2023-10-06 Thread Dmitry Goncharov
On Wed, Oct 4, 2023 at 6:09 PM Till Backhaus wrote: > This rather short Makefile shows exponential runtime depending on the number > of variables. > VAR_1 ?= $(shell echo 1) ... VAR_1 is a recursively expanded variable. When make defines this variable, the value is set to string '$(shell echo 1)

Re: Exponential Runtime in make 4.4.1 when export is used

2023-10-05 Thread Bahman Movaqar
On Wed, 2023-10-04 at 23:20 +0200, Till Backhaus wrote: > This rather short Makefile shows exponential runtime depending on the > number of variables. > export > > VAR_1 ?= $(shell echo 1) > VAR_2 ?= $(shell echo 2) > VAR_3 ?= $(shell echo 3) > VAR_4 ?= $(shell echo 4) > VAR_5 ?= $(shell echo 5)

Exponential Runtime in make 4.4.1 when export is used

2023-10-04 Thread Till Backhaus
Hello, This is my first report here, I might lack the proper etiquette. I'm on fedora 38 which installs gnu-make 4.4.1. I'm reporting a regression related to the changed behavior of export: * WARNING: Backward-incompatibility! Previously makefile variables marked as export were not exported to

[bug #64746] Exponential Runtime in make 4.4.1 when export is used

2023-10-04 Thread Till Backhaus
URL: <https://savannah.gnu.org/bugs/?64746> Summary: Exponential Runtime in make 4.4.1 when export is used Group: make Submitter: tback Submitted: Wed 04 Oct 2023 09:31:42 PM UTC Severity: 3 -