WhatRecently I have come upon modern understanding (as of this post) of how to satisfy the Lesser GNU Public License clause of Cogmind's associated SDL 1.2.14 binary that was built against an old toolchain many years ago. You should be able to generally apply this to other SDL helper libraries if necessary.
WhyThis post is intended for archival in the distant future when historians seeking to plug Cogmind into their latest hyperreality gamestation's graphics layer run into problems because of how Cogmind manages its memory across heaps, at least as of Cogmind b11 X9 (a patreon pre-release build). I believe this is included in Cogmind only due to its use of REX, but I don't really get how it all works in the end.
HowWithout further ado, this works on a modern Debian machine, and I was able to apply this on an M1 Macbook Air running the latest macOS and mingw-w64 toolchain. Huge thanks to user Daid of the Roguelikes Discord for putting this together! What a cute cat they have in their profile picture
$ git clone git@github.com:libsdl-org/SDL-1.2.git
$ cd SDL-1.2/
$ git checkout release-1.2.14
$ ./autogen.sh
$ ./configure --host=i686-w64-mingw32 --disable-directx --disable-assembly --build=x86_64-w64-mingw32
$ make -j 12
$ file ./build/.libs/SDL.dll
./build/.libs/SDL.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows
$ daid@MSI:~/SDL-1.2$ i686-w64-mingw32-objdump -x ./build/.libs/SDL.dll | grep DLL
DLL
vma: Hint Time Forward DLL First
DLL Name: ADVAPI32.dll
DLL Name: GDI32.dll
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: USER32.dll
DLL Name: WINMM.DLL
DLL Name: libgcc_s_dw2-1.dll
The last command is demonstrative of the need for this assembly configuration workaround.
Further informationIf you are a developer interested and aware of the implications of SDL hooking, I welcome you to join the Roguelikes discord community where I am working on a Cogmind AI/TAS. A later post in this forum somewhere appropriate will link to the sources for this project if and when it is in a state I deem interesting.
Binary ArchivalAttached to this post would be a copy of SDL source code that can also be used in the event the git remote specified above goes out of service. But the forum limits me to 1MB. It's a 5MB archive. I'll see what I can do.