-
Notifications
You must be signed in to change notification settings - Fork 378
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MT#61993 build: Force recursive variables into simple ones
Starting with GNU make 4.4, build time have massively regressed where before they would take 5m on amd64 now can take 2h40m. While this seems clearly broken, the release notes are filled with notices for breaking changes, and in particular the one for passing all make variables down to the invoked programs executed via the «shell» GNU make function, so it is not clear what is expected breakage and what is not. This has been reported in Debian, but not yet upstream, and while it seems like a clear regression, it's not clear what will be the upstream take on it. For now apply workarounds that do not change semantics, and which do not regress with older GNU make versions. Use the GNU make «origin» function instead of «?=» which defaults to defining a variable as a recursive one. Coerce already defined variables into simple ones to avoid GNU make re-evaluating these variables for each «shell» function invocation. Ref: https://bugs.debian.org/1092051 Change-Id: I076fc05dd616918473a22e7e942fecfdc9851d47
- Loading branch information
Showing
10 changed files
with
43 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters