• src/xpdev/CMakeLists.txt

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Sep 15 15:31:30 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/3dc56fb6b5b57541c8ddcd2e
    Modified Files:
    src/xpdev/CMakeLists.txt
    Log Message:
    xpdev: probe for libc symbols with the Linux feature macros

    The capability checks added in bcecd8108f (cheese-36-geek, 2026-09-06)
    compiled their probes without the _GNU_SOURCE/_DEFAULT_SOURCE definitions
    the xpdev targets are built with. glibc 2.36 (Debian 12) declares asprintf
    and vasprintf only under _GNU_SOURCE, so the probes failed there, enabling NEEDS_ASPRINTF/NEEDS_VASPRINTF. The vasprintf fallback calls the
    MSVC-only _vscprintf, breaking the link of every CMake consumer of xpdev
    (e.g. the doors) with "undefined reference to `_vscprintf'".

    Newer glibc also declares these under _DEFAULT_SOURCE, which hid the
    problem on newer hosts.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net