#import "modules/std.sx"; #import "modules/build.sx"; #import "modules/compiler.sx"; // P5.3 smoke test — `on_build(build)` registers the build callback (the Phase 5 // form), and the compiler invokes it post-codegen WITH the BuildOptions handle // as an arg (`build :: (opt: BuildOptions) -> bool`). This exercises the VM // entry that passes an explicit arg after the implicit context (runEntryArgs). // The callback uses the build-pipeline primitives (no opt accessors yet) and // returns true; AOT observes success via the build exit code. build :: (opt: BuildOptions) -> bool abi(.compiler) { obj := emit_object(); return obj.len > 0; } #run on_build(build); main :: () { print("runtime main\n"); }