-
30729512d2
feat(tools): record a live watch session
master
sneeker
2022-08-19 15:27:00 +00:00
-
82afcaf27f
fix(watch): drop the digest memo between rounds
sneeker
2022-08-17 19:24:25 +00:00
-
5af9dfd8a8
feat(tools): record meowc building a real project
sneeker
2022-08-16 18:42:54 +00:00
-
e723bb853d
feat(tools): showcase the core claim on the bundled example
sneeker
2022-08-14 07:07:32 +00:00
-
1a81ef4a55
feat(tools): record the three language pipeline
sneeker
2022-08-12 04:04:22 +00:00
-
b0acf89085
feat(tools): pace recordings by the shell prompt
sneeker
2022-08-11 12:02:20 +00:00
-
f833d73eb6
feat(tools): record the compiler pipeline showcase
sneeker
2022-08-10 12:14:05 +00:00
-
b22649f0fa
feat(cli): report a version, and record a showcase
sneeker
2022-08-08 08:18:30 +00:00
-
22bcda553b
fix(toolchain): aim the compiler at the triple even when cc is set
sneeker
2022-08-07 03:13:49 +00:00
-
35d735be5c
feat(target): exclude files from a srcs glob
sneeker
2022-08-05 16:24:09 +00:00
-
c8048c6213
feat(rule): chain rules and depend on the tool they run
sneeker
2022-08-04 15:59:54 +00:00
-
034095ceac
feat(graph): render to svg and open it in the browser
sneeker
2022-08-03 13:10:57 +00:00
-
31aa8d47a7
feat(graph): open the rendered graph in an image viewer
sneeker
2022-08-01 05:59:19 +00:00
-
43feff9590
feat(graph): draw the graph in the terminal instead of writing a file
sneeker
2022-07-29 22:55:29 +00:00
-
672104a85e
feat(dot): render the graph for print rather than for a terminal
sneeker
2022-07-28 15:56:12 +00:00
-
7400708169
feat(cli): parallel tests, target names in explain and graph
sneeker
2022-07-27 04:09:34 +00:00
-
a921f2e979
feat(rule): let a rule use a target as its tool
sneeker
2022-07-25 20:44:53 +00:00
-
beb29eb0af
fix(build): handle assembly and reject sources meowc cannot compile
sneeker
2022-07-25 11:49:47 +00:00
-
03de4455dc
refactor(lib): delete the code nothing reaches
sneeker
2022-07-24 18:55:09 +00:00
-
f3a0b6ca17
feat(run): run blocks for commands the build does not produce
sneeker
2022-07-21 16:25:46 +00:00
-
b52e209067
feat(exec): spill long command lines into response files
sneeker
2022-07-20 17:50:41 +00:00
-
1638968aba
feat(link): drive output names and link flags from the object format
sneeker
2022-07-18 07:56:15 +00:00
-
7ef31a5ded
feat(tools): record an editor demo of the header fan-out
sneeker
2022-07-16 18:01:52 +00:00
-
38889de6e6
feat(toolchain): cross compile through target triples and sysroots
sneeker
2022-07-16 01:16:10 +00:00
-
4eac7cd845
fix(sched): kill running actions when meowc is interrupted
sneeker
2022-07-15 14:41:20 +00:00
-
752ddea916
feat(sched): cancel in-flight actions when a build fails
sneeker
2022-07-15 04:18:43 +00:00
-
244609ba1a
fix(cli): detect the core count on systems without /proc/cpuinfo
sneeker
2022-07-14 18:24:39 +00:00
-
2ce144e8aa
perf(cache): memoise file digests and invalidate them on write
sneeker
2022-07-12 08:44:33 +00:00
-
56a45e5776
feat(tools): add a reproducible terminal capture harness
sneeker
2022-07-11 02:30:42 +00:00
-
1d7ad86fb7
feat(examples): add the C++ benchmark and three test targets
sneeker
2022-07-10 04:57:31 +00:00
-
f6876c33fc
feat(examples): add the render binary and its argument handling
sneeker
2022-07-07 21:07:20 +00:00
-
d397f61046
feat(examples): generate scene translation units from .scene files
sneeker
2022-07-07 12:27:02 +00:00
-
c9946dd8db
feat(examples): add a zlib backed PNG encoder
sneeker
2022-07-06 16:04:09 +00:00
-
4847e73434
feat(examples): add the image buffer and a PPM writer
sneeker
2022-07-04 09:14:34 +00:00
-
23f8288a52
feat(examples): add shading, the threaded render loop and two scenes
sneeker
2022-07-02 12:49:50 +00:00
-
3da0447ea6
feat(examples): add the scene representation, camera and intersection
sneeker
2022-07-02 02:41:00 +00:00
-
d1c5055303
feat(examples): add vector maths and an xorshift RNG
sneeker
2022-06-30 11:37:33 +00:00
-
7c7557fed1
feat(examples): add the raytracer build file and core header
sneeker
2022-06-30 00:29:57 +00:00
-
c46a0bb314
feat(examples): extend hello with a second translation unit and a test
sneeker
2022-06-28 01:49:34 +00:00
-
776f5315d4
feat(examples): add a hello project with a library and a consumer
sneeker
2022-06-26 15:32:31 +00:00
-
f751ccbde9
feat(cli): add argument parsing and command dispatch
sneeker
2022-06-25 17:08:00 +00:00
-
74f060f72f
feat(scaffold): generate a project that builds and tests unmodified
sneeker
2022-06-25 01:39:44 +00:00
-
7a539310df
feat(watch): rebuild when a tracked input changes
sneeker
2022-06-23 12:20:02 +00:00
-
ae90a67042
feat(testrun): build and run test targets, reporting pass or fail
sneeker
2022-06-23 03:23:45 +00:00
-
80576e75f7
feat(install): copy installable outputs under a prefix
sneeker
2022-06-21 02:23:23 +00:00
-
c4f033ee38
feat(dot): emit Graphviz source for the action graph
sneeker
2022-06-19 01:08:42 +00:00
-
d4e210f33c
feat(compdb): write compile_commands.json for clangd
sneeker
2022-06-17 19:15:48 +00:00
-
720efd5c74
feat(sched): dispatch ready actions under a job limit
sneeker
2022-06-15 20:17:47 +00:00
-
34ddbac28b
feat(build): lower resolved targets into graph actions
sneeker
2022-06-13 08:04:17 +00:00
-
b701d27c7d
feat(dep): source header edges from compiler depfiles
sneeker
2022-06-12 22:24:06 +00:00
-
a4abbbdc3c
feat(cache): key actions on content, argv and the real input set
sneeker
2022-06-12 01:49:31 +00:00
-
0ad5138b52
feat(graph): derive edges from which node produces which file
sneeker
2022-06-09 14:01:08 +00:00
-
ac9d0232f4
feat(resolve): lower surviving blocks into targets and rule instances
sneeker
2022-06-08 10:43:20 +00:00
-
bb5f1f1509
feat(eval): evaluate statements in written order
sneeker
2022-06-06 11:35:41 +00:00
-
9537254533
feat(configh): generate a guarded C header from probe results
sneeker
2022-06-05 22:51:52 +00:00
-
3e7afc520e
feat(probe): detect headers, functions, symbols, sizeof and pkg-config
sneeker
2022-06-03 09:35:23 +00:00
-
78adab8c49
feat(exec): spawn subprocesses and capture stdout and status
sneeker
2022-06-01 08:37:55 +00:00
-
38759f5e61
feat(parse): parse the grammar with recursive descent
sneeker
2022-05-30 01:11:45 +00:00
-
a629b2a967
feat(ast): model statements, blocks and nested conditionals
sneeker
2022-05-29 08:59:55 +00:00
-
4d26b548ba
feat(lexer): tokenise build files with a span on every token
sneeker
2022-05-27 13:59:46 +00:00
-
53ac3ffb4c
feat(types): define resolved project, target and rule records
sneeker
2022-05-26 00:17:18 +00:00
-
c490488423
feat(suggest): rank near-miss names by edit distance
sneeker
2022-05-25 15:17:54 +00:00
-
b48cd708a4
feat(json): emit JSON with correct control-character escaping
sneeker
2022-05-23 21:14:56 +00:00
-
598ccfd4c0
feat(glob): expand source patterns without shelling out
sneeker
2022-05-21 21:37:43 +00:00
-
dfa033fea4
feat(fs): add recursive mkdir, whole-file IO and mtime reads
sneeker
2022-05-21 12:14:44 +00:00
-
79ed836641
feat(ident): normalise names into C macro identifiers
sneeker
2022-05-20 03:45:44 +00:00
-
c42ff512d1
feat(diag): render errors with a caret and the offending line
sneeker
2022-05-18 08:54:32 +00:00
-
71a8aaa436
feat(style): gate ANSI colour on tty detection
sneeker
2022-05-17 19:36:28 +00:00
-
58f5aa0f98
feat(span): track byte ranges so errors can point into source
sneeker
2022-05-17 08:50:46 +00:00
-
d407f9eb45
build: add dune project skeleton and library stanza
sneeker
2022-05-16 09:42:00 +00:00