• src/sbbs3/sexyz_release/CLAUDE.md mksexyzsrc.sh

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sun Aug 23 15:28:54 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9a720937620ffe0eca8a5d0a
    Added Files:
    src/sbbs3/sexyz_release/CLAUDE.md mksexyzsrc.sh
    Log Message:
    sexyz: derive the source release from the makefile, not by hand

    The archive's value is that its file set is derived: the sources are
    whatever GNUmakefile's SRCS names, and the headers are their #include
    closure. Assembling one by hand loses that, and twice did: the first
    archive omitted xpprintf.c entirely, and a later one carried three stale sources.

    mksexyzsrc.sh takes a checkout and an output directory, reads the source
    list out of the shipped GNUmakefile, computes the header closure with
    gcc -MM, pins git_branch.h/git_hash.h to HEAD, test-builds the result, and writes both containers named after sexyz.c's own revision string. It fails loudly if a file the makefile names is missing from the tree.

    CLAUDE.md records what a Linux host cannot discover about this archive:
    that a GCC link map cannot see what MSVC needs, which is how three defects reached a published archive, and that a cut must be verified on both
    toolchains before release.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)