Commit Graph
17 Commits
Author SHA1 Message Date
huntedbytheirs 9f41034197 feat(gen): generate --help and argument parsing
Replace the v1 minimal preamble in the generated ./configure with the
full argument-parsing section (src/gen/args.{h,c}): -h/--help usage,
--version, --prefix/--exec-prefix/--host/--build in = and space forms,
per-DSL-option --enable-<name>/--disable-<name> (default from the
option's default property), generic positional VAR=VALUE overrides
(identifier-validated, single-quote-escaped eval assignment), unknown
--* -> usage on stderr + exit 1, cross_compiling=yes when --host differs
from --build. The substitution set gains exec_prefix/host/build/
cross_compiling plus one enable_<name> per option. Option names are
validated as shell identifiers at generation time.

Tests: 12 new /gen/args/* cases (help lists --prefix/--enable-debug/
--disable-debug; CC=clang positional + env; enable/debug default;
cross_compiling observable; --bogus/--bogus=1/--enable- errors;
--prefix missing/empty; space form; exec_prefix defaulting; VAR=VALUE
injection inert; hostile option name errors at generation) - 28/28
green, three-shell -n + banned-construct sweep clean.
2026-08-29 00:35:07 -04:00
huntedbytheirs 08e1ea93dd feat(gen): emit config.status/config.log/config.h 2026-08-29 00:15:46 -04:00
huntedbytheirs 03497e2c38 feat(gen): assemble configure script with substitution 2026-08-28 23:50:24 -04:00
huntedbytheirs 2fff47460e feat(detect): add feature resolution and when-guards 2026-08-28 23:17:15 -04:00
huntedbytheirs ac0e0fd39a feat(detect): add probe code generator with result cache 2026-08-28 22:56:20 -04:00
huntedbytheirs 7a8abea6d9 feat(detect): implement check registry probe specs 2026-08-28 22:30:53 -04:00
huntedbytheirs 00f4f0e1a0 feat(detect): define feature-check registry schema 2026-08-28 22:09:45 -04:00
huntedbytheirs 2e8553116b feat(ext): expose Lua API for checks and languages 2026-08-28 21:51:59 -04:00
huntedbytheirs 67bfcde386 feat(kdl): add DSL schema validation 2026-08-28 21:37:22 -04:00
huntedbytheirs 467d10bd0c feat(kdl): add typed KDL value model 2026-08-28 21:18:16 -04:00
huntedbytheirs 783019dff4 feat(ext): add extension discovery and loading
Extension discovery (plan todo 20): scans --ext-dir dirs,
STUPIDTOOLS_EXT, the XDG user dir and a builtin-ext dir for *.lua
modules, runs each in the sandboxed Lua runtime, and enumerates its
registrations; the builtin C/C++ modules load first via
st_ext_init_builtins. Fail-fast with an error naming file and line on
any malformed/sandbox-violating module.

The CLI gains a repeatable --ext-dir flag; with flag or env present
main.c runs discovery and prints 'loaded extension: ...' lines from
actual registrations (interim wiring until todo 23).

Note: src/Makefile.am gained the ext + vendored Lua sources because
the binary otherwise cannot link discovery -- required for the
root-verifiable CLI acceptance.
2026-08-28 21:17:05 -04:00
huntedbytheirs 88d78990d5 feat(kdl): add KDL parser producing AST 2026-08-28 20:53:45 -04:00
huntedbytheirs 15f8e1a61b feat(ext): embed sandboxed Lua runtime with C API 2026-08-28 20:53:00 -04:00
huntedbytheirs 50afaa17ca feat(kdl): add KDL lexer with source spans 2026-08-28 20:28:57 -04:00
huntedbytheirs 468aa1c4ef feat(ext): add builtin C/C++ language modules 2026-08-28 20:17:58 -04:00
huntedbytheirs 439aa0d856 feat(gen): add POSIX-sh emitter with quoting 2026-08-28 20:12:41 -04:00
huntedbytheirs d02b5aabcd feat(error): add typed errors + source-span diagnostics 2026-08-28 19:58:29 -04:00