| #
b3b47557 |
| 14-Jan-2025 |
rillig <rillig@NetBSD.org> |
make: simplify code for evaluating the '!=' variable assignment
An undefined variable evaluates to an empty string, without an error message.
|
| #
4f78a4a5 |
| 14-Jan-2025 |
rillig <rillig@NetBSD.org> |
make: simplify parsing of dependency lines
The evaluation modes that allow or deny undefined variables have the same effect in this case, as Var_Subst does not return an error marker.
|
| #
d08a9cc9 |
| 31-Oct-2024 |
rillig <rillig@NetBSD.org> |
make: in the debug log, always qualify line number with filename
Previously, to find out the filename corresponding to a line number from a 'Parsing' line, it was necessary to find the preceding 'Se
make: in the debug log, always qualify line number with filename
Previously, to find out the filename corresponding to a line number from a 'Parsing' line, it was necessary to find the preceding 'SetFilenameVars' line, which was unnecessarily time-consuming and distracting.
The 'filename:line' format matches the one used in PrintStackTrace, and it differs from the one used in PrintLocation, as the former format is more common in other tools.
Most of the affected unit tests only use the 'Parsing' lines to give additional context to their debug log, so no structural changes there.
show more ...
|
| #
224a1fcf |
| 29-Aug-2024 |
rillig <rillig@NetBSD.org> |
make: reduce line length in error messages
The error messages for deeply nested parse errors were hard to decipher, due to the large amount of text. Split these messages into individual lines, just
make: reduce line length in error messages
The error messages for deeply nested parse errors were hard to decipher, due to the large amount of text. Split these messages into individual lines, just as in the backtrace for .include files and .for loops. This unified backtrace makes the output more uniform.
show more ...
|
| #
92d2787a |
| 09-Jul-2024 |
rillig <rillig@NetBSD.org> |
make: error out on parse/evaluation errors in shell commands
The expression ${VAR:X} has an unknown modifier ':X'. Previously, this expression errored out when the expression was evaluated at parse
make: error out on parse/evaluation errors in shell commands
The expression ${VAR:X} has an unknown modifier ':X'. Previously, this expression errored out when the expression was evaluated at parse time, but not when the expression was evaluated when generating the commands to bring a target up to date. The errors were previously reported, they didn't affect the exit status, though.
Now, errors in expressions are handled in the same way, regardless of the time at which they are evaluated.
show more ...
|
| #
ad6e61b1 |
| 07-Jul-2024 |
rillig <rillig@NetBSD.org> |
make: only generate code for cleanup functions in CLEANUP mode
|
| #
6e33e0cb |
| 04-Jul-2024 |
rillig <rillig@NetBSD.org> |
make: add more context information to error messages
In case of a parse error or evaluation error, print the variable value in addition to the variable name, to see the effects of previous expressio
make: add more context information to error messages
In case of a parse error or evaluation error, print the variable value in addition to the variable name, to see the effects of previous expression modifiers.
In nested make calls, print the current directory at the bottom of a stack trace, as that information is otherwise hard to get in a parallel build spanning multiple directories.
show more ...
|
| #
918bbeb6 |
| 15-Jun-2024 |
rillig <rillig@NetBSD.org> |
make: in warnings, move the word "warning" to the front
|
| #
0c336a8c |
| 02-Jun-2024 |
rillig <rillig@NetBSD.org> |
make: sync VarEvalMode constant names with their debug log names
|
| #
cdcc95b1 |
| 01-Jun-2024 |
sjg <sjg@NetBSD.org> |
make: add .export-all
An explicit syntax for exporting all global variables is much safer than allowing .export with no argument to do the same.
Add .export-all and have .export with no argument th
make: add .export-all
An explicit syntax for exporting all global variables is much safer than allowing .export with no argument to do the same.
Add .export-all and have .export with no argument throw a warning saying to use .export-all
Reviewed by: rillig
show more ...
|
| #
2864ddb2 |
| 31-May-2024 |
rillig <rillig@NetBSD.org> |
make: clean up API for iterating over hash tables
|
| #
f3426a08 |
| 25-May-2024 |
rillig <rillig@NetBSD.org> |
make: use fewer technical terms in debug message for dependency
|
| #
734fc802 |
| 25-May-2024 |
rillig <rillig@NetBSD.org> |
make: fix memory leak for command strings
|
| #
c05c85b7 |
| 25-May-2024 |
rillig <rillig@NetBSD.org> |
make: fix some more memory leaks
|
| #
dd76681b |
| 25-May-2024 |
rillig <rillig@NetBSD.org> |
make: fix a few more memory leaks
|
| #
c86b32d1 |
| 19-May-2024 |
sjg <sjg@NetBSD.org> |
make: use separate function to include makefiles.
Have Dir_FindFile and Dir_FindInclude call FindFile with a bool flag to indicate whether .CURDIR should be be searched at all.
|
| #
1bf92009 |
| 27-Apr-2024 |
rillig <rillig@NetBSD.org> |
make: simplify freeing of lists
|
| #
3f936286 |
| 23-Apr-2024 |
rillig <rillig@NetBSD.org> |
make: clean up comments, code and tests
|
| #
873c42ef |
| 20-Apr-2024 |
rillig <rillig@NetBSD.org> |
make: provide more context information for parse/evaluate errors
|
| #
141cc683 |
| 14-Apr-2024 |
rillig <rillig@NetBSD.org> |
make: add debug logging for .if and .for lines in -dp mode
This helps track down in which line a condition is evaluated.
|
| #
311476f3 |
| 01-Apr-2024 |
rillig <rillig@NetBSD.org> |
make: exit immediately after reading a null byte from a makefile
The chance of other garbage bytes in such a file is just too high.
|
| #
0dd36725 |
| 07-Feb-2024 |
rillig <rillig@NetBSD.org> |
make: remove unneeded conditional-compilation toggles
The toggles INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB, GMAKEEXPORT and SUNSHCMD are no longer needed, they were unconditionally set.
make: remove unneeded conditional-compilation toggles
The toggles INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB, GMAKEEXPORT and SUNSHCMD are no longer needed, they were unconditionally set.
The toggle NO_REGEX was configurable from the command line, but disabling it would result in various error messages about the unknown ':C' modifier.
OK sjg@.
show more ...
|
| #
1ef9033a |
| 07-Jan-2024 |
rillig <rillig@NetBSD.org> |
make: clean up comments, constify shell name
|
| #
f60719f0 |
| 05-Jan-2024 |
rillig <rillig@NetBSD.org> |
make: miscellaneous cleanups
|
| #
8779a040 |
| 03-Jan-2024 |
sjg <sjg@NetBSD.org> |
make: do not add newline to an empty buffer
When LoadFile reads from /dev/null the buffer will be empty, appending "\n" just results in an unnecessary extra call to ParseRawLine.
Reviewed by: rillig
|