https://gitlab.synchro.net/main/sbbs/-/commit/0cf4790c54a240fc5f1841e6
Modified Files:
.gitlab-ci-unix.yml .gitlab-ci.yml src/doors/.gitignore build.sh
Log Message:
CI: build the rest of the *nix doors
The Doors section covered eight of the doors under src/doors and the
termgfx section five, leaving ten of what src/doors/build.sh calls
buildable with no *nix job at all -- the counterpart to the gap the
Win32 jobs closed in 1edeb70972 (winter-0-fill).
The eight added under a new build_more_doors input are the make(1)
trees that predate ../build/Common.gmake, plus the three registration
key generators. Only Linux has been confirmed to build them, so they
gate like the termgfx doors do: a platform opts in once it is
confirmed, rather than turning a pipeline red to find out. Several
cannot build everywhere -- timeport links -lcurses, and sde, top and
vbbs name an odoors library directory by `uname` that a cross-build
does not have -- so folding them into build_doors, which is on for the
BSDs, macOS, alpine, arm64 and the mingw-w64 cross-build, was not an
option. Only smurfcombat builds through Common.gmake and needs the
stamp touching the other door jobs do; the rest either link ../../odoors/libs-`uname` directly or compile the xpdev sources they
want straight out of the checkout.
SyncRPG and SyncSCUMM join the termgfx doors, which have been proven
on Linux since they were added there. Both vendor a whole interpreter
rather than a small engine, so their build.sh is two-stage and only
the first stage goes through the ccache launcher variables; their
external dependencies are also the heaviest, with SyncSCUMM requiring
libmad and SyncRPG the EasyRPG/liblcf set.
src/doors/build.sh gains the two key generators added after it was
written, so its target table again matches what the tree can build,
and .gitignore stops leaving their binaries untracked.
Co-Authored-By: Claude Opus 5 (1M context) <
[email protected]>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)