Change nproc to long to match sysconf() return type
deps: Print name of file on parse error
deps: Handle escaped newlines in Makefile fragments
samurai is a ninja-compatible build tool written in C99 with a focus on simplicity, speed, and portability.
samurai implements the ninja build language through version 1.9.0 except
for MSVC dependency handling (deps = msvc
). It uses the same format
for .ninja_log
and .ninja_deps
as ninja, currently version 5 and 4
respectively.
It is feature-complete and supports most of the same options as ninja.
samurai requires various POSIX.1-2008 interfaces.
Scheduling jobs based on load average requires the non-standard
getloadavg
function. This feature can be enabled by defining
HAVE_GETLOADAVG
in your CFLAGS
, along with any other necessary
definitions for your platform.
samurai tries to match ninja behavior as much as possible, but there are several cases where it is slightly different:
std::set<Edge*>
),
so the first to execute depends on the address returned by malloc
.
This may result in build failures due to insufficiently specified
dependencies in the project's build system.-fdiagnostics-color=always
, so if you plan to save the output to a
log, you should pass -Db_colorout=auto
to meson.