Change nproc to long to match sysconf() return type
deps: Print name of file on parse error
deps: Handle escaped newlines in Makefile fragments
Include exit status in job failure message
build: Add -Wmissing-prototypes
build: Add -Wshadow
samu.c: In function ‘main’:
samu.c:187:21: warning: declaration of ‘n’ shadows a previous local [-Wshadow]
187 | int n = sysconf(_SC_NPROCESSORS_ONLN);
| ^
samu.c:126:22: note: shadowed declaration is here
126 | struct node *n;
| ^
Disable getloadavg support by default
Many platforms don't have getloadavg or hide it behind platform-specific
defines. Rather than try to work around it with an ifdef maze,
disable it by default. Builders can enable it by adding
`-D HAVE_LOADAVG` to their CFLAGS, along with whatever other defines
are needed for their platform.
Rename reallocarray to prevent conflict with libc
Ensure isalnum() argument is within the range of unsigned char
Otherwise, this is undefined behavior.
Fixes #85.
Implement load average option
tool: Fail on first unknown target in commands and graph tools
This matches ninja behavior and is a bit simpler.
tool: Order functions according to tool list
tool: Remove list tool
The tools are documented in the manual, so no need to duplicate
that information in a command.
tool: Implement graph tool
manual: Use Pq macro to parenthesize link.
log: Use fgets instead of getline
manual: Update list of supported commands
Add micro version number to --version output
Some projects, such as qtwebengine, parse the output of --version,
and are tripped up by a version string with only two components.
scan: Allow stray indented but otherwise empty lines
This is not very common, but ninja accepts this and it has shown
up in at least one project.