/* project-fail.kdl - the FAILURE variant of project.kdl (plan todo 26). * * Same shape as project.kdl, but the pthread feature is replaced by a * feature checking a header that does not exist on any system: * * feature "nope" { header "nope_missing_xyz.h" } * * The generated ./configure must handle the failed probe CLEANLY under * every shell in the matrix: the failure is recorded (have_nope=no), the * check is named in config.log (the compiler's diagnostic), config.h gets * NO HAVE_NOPE define, and no shell reports a syntax error. A healthy * second feature ("posix", unistd.h) proves configure continues after a * failed check and the healthy feature still resolves. * * NOTE (deviation, tracked in .omo/notepads/stupidtools/issues.md): the * v1 generator (todos 16/17, frozen to todo 26) follows autoconf * semantics - a failed OPTIONAL check records have_=no and * configure still exits 0; it does not abort. The plan/todo text expected * rc!=0 here. run.sh asserts the generator's REAL contract and exercises * the genuinely-non-zero configure-error path via an unrecognized option. */ project "hellothreads-fail" version "1.0.0" feature "nope" { header "nope_missing_xyz.h" } feature "posix" { header "unistd.h" } target "default" { src "main.c" feature "nope" feature "posix" }