1DOLLY 32MODULE ninja34# Samurai is a compact Ninja-compatible executor. Its upstream parser, graph,5# depfile handling, and build log stay as separate ordinary C translation6# units. The Dolly patch replaces only native process scheduling with the7# in-Wasm command lifecycle. `util.c` has two explicit loop checkpoints and is8# compiled without generic edge coverage, which otherwise causes a severe9# bootstrap-compiler blowup for that one file.10REQUIRES HEADER libc11REQUIRES HEADER runtime12REQUIRES TOOL   make13REQUIRES TOOL   rm14REQUIRES TOOL   tar1516SOURCE HOST /static/default/samurai.tar                   /tmp/ninja/samurai.tar          c3bb0fcfad238dcf4e4fb9edc119563570772e09fe1cc85384868964ef2f939a17SOURCE HOST /static/default/runtimes/samurai-unit-dolly.c /tmp/ninja/samurai-unit-dolly.c 4412175ad18939c580d6a31ca89a1284d313026674d5ac4faa0841aab379a4f71819FILE /tmp/ninja/Makefile20    .RECIPEPREFIX := >21    SOURCE_ROOT := /tmp/ninja/source22    NAMES := build deps env graph htab log parse samu scan tool tree util os-posix23    SOURCES := $(addprefix $(SOURCE_ROOT)/,$(addsuffix .c,$(NAMES)))24    PARTS := 1 2 3 4 5 6 7 8 9 10 11 12 1325    UNIT := /tmp/ninja/samurai-unit-dolly.c26    OBJECTS := $(addprefix /tmp/ninja/part-,$(addsuffix .o,$(PARTS)))27    CFLAGS := -O1 -std=c99 -D_POSIX_C_SOURCE=200809L -DDOLLY -I $(SOURCE_ROOT)28    29    all: /usr/bin/ninja30    31    /tmp/ninja/part-12.o: $(UNIT) $(SOURCES)32    >cc \33    >  $(CFLAGS) \34    >  -O0 \35    >  -fdolly-runtime-interrupt-handler \36    >  -DDOLLY_SAMURAI_PART=12 \37    >  -c $(UNIT) \38    >  -o $@39    40    /tmp/ninja/part-%.o: $(UNIT) $(SOURCES)41    >cc \42    >  $(CFLAGS) \43    >  -DDOLLY_SAMURAI_PART=$* \44    >  -c $(UNIT) \45    >  -o $@46    47    /usr/bin/ninja: $(OBJECTS)48    >cc $(OBJECTS) -o $@4950SLOP tar \51  -xf /tmp/ninja/samurai.tar \52  -C /53SLOP make \54  -f /tmp/ninja/Makefile5556EXPORTS TOOL ninja5758SLOP ninja \59  --version6061FILE /usr/share/licenses/samurai/LICENSE6263SLOP rm \64  -rf \65  /tmp/ninja66