• src/odoors/GNUmakefile

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sunday, August 09, 2026 07:19:11
    https://gitlab.synchro.net/main/sbbs/-/commit/f2244bca8b757857d4d52676
    Modified Files:
    src/odoors/GNUmakefile
    Log Message:
    odoors: fix the example programs, which could never run

    LDFLAGS is used only by the five example link rules (the library
    itself is linked with SHFLAGS), but it was being assigned the
    shared-object flags: -shared, or -dynamiclib -single_module on Darwin.
    Every example was therefore emitted as a shared object with a NULL ELF
    entry point, and segfaulted the instant it was run.

    Dropping those flags exposed a second problem: the examples name the
    library by relative path, so libs-<OS>/libODoors.so only resolved when
    the current directory happened to be src/odoors. Give them an
    $ORIGIN-relative runpath, and give the library a soname; without one a
    client records the relative link path as its DT_NEEDED entry, and
    glibc does not consult the runpath for any name containing a slash.

    Appending to LDFLAGS rather than assigning it also stops -fPIC, and
    DEBUG=1's -g, from being discarded.

    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)