[..]
sh*t. I was hoping there was a better solution.
AFAIK also PortableGL has its limits (TinyGL is good but even more limited).
Mentore
It has. While the examples worked, I couldn't get it to work with Classicube.
OK I've hacked mesa, python and meson enough to get a build.ninja
https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/util/memstream.c is a problem as we don't have open_memstream() and I'm not sure how to implement it on OS/2.
I stubbed this for now.... I have latest mesa mostly build.... but meson has no idea how to make an OS/2 DLL, so there may be some manual hackery required to get past errors like:
[1/16] Linking target src/mapi/es2api/libGLESv2.so.2.0.0
FAILED: src/mapi/es2api/libGLESv2.so.2.0.0
c++ -o src/mapi/es2api/libGLESv2.so.2.0.0 src/mapi/es2api/libGLESv2.so.2.0.0.p/.._entry.c.o -shared -fPIC src/mapi/shared-glapi/libglapi.so.0.0.0 src/c11/impl/libmesa_util_c11.a -pthread
D:/Users/dmik/rpmbuild/BUILD/libc-0.1.13/src/emx/src/lib/startup/386/dll0.s:62 (/@unixroot/usr/lib/dll0.o): Definition of symbol __text (multiply defined)
D:\Temp/ccvnLdQd.s:0 (/@unixroot/usr/lib/dll0.o): Definition of symbol __data (multiply defined)
D:\Temp/ccvnLdQd.s:0 (/@unixroot/usr/lib/dll0.o): Definition of symbol ___data_start (multiply defined)
D:\Temp/ccvnLdQd.s:0 (/@unixroot/usr/lib/dll0.o): Definition of symbol ___bss_start (multiply defined)
src/mapi/shared-glapi/libglapi.so.0.0.0: Definition of symbol __data (multiply defined)
D:/Users/dmik/rpmbuild/BUILD/libc-0.1.13/src/emx/src/lib/startup/386/dll0.s:62 (src/mapi/shared-glapi/libglapi.so.0.0.0): Definition of symbol __text (multiply defined)
src/mapi/shared-glapi/libglapi.so.0.0.0: Definition of symbol ___data_start (multiply defined)
src/mapi/shared-glapi/libglapi.so.0.0.0: Definition of symbol ___bss_start (multiply defined)
[2/16] Linking target src/mapi/es1api/libGLESv1_CM.so.1.1.0
FAILED: src/mapi/es1api/libGLESv1_CM.so.1.1.0
c++ -o src/mapi/es1api/libGLESv1_CM.so.1.1.0 src/mapi/es1api/libGLESv1_CM.so.1.1.0.p/.._entry.c.o -shared -fPIC src/mapi/shared-glapi/libglapi.so.0.0.0 src/c11/impl/libmesa_util_c11.a -pthread -lpthread
D:/Users/dmik/rpmbuild/BUILD/libc-0.1.13/src/emx/src/lib/startup/386/dll0.s:62 (/@unixroot/usr/lib/dll0.o): Definition of symbol __text (multiply defined)
D:\Temp/ccvnLdQd.s:0 (/@unixroot/usr/lib/dll0.o): Definition of symbol __data (multiply defined)
D:\Temp/ccvnLdQd.s:0 (/@unixroot/usr/lib/dll0.o): Definition of symbol ___data_start (multiply defined)
D:\Temp/ccvnLdQd.s:0 (/@unixroot/usr/lib/dll0.o): Definition of symbol ___bss_start (multiply defined)
src/mapi/shared-glapi/libglapi.so.0.0.0: Definition of symbol __data (multiply defined)
D:/Users/dmik/rpmbuild/BUILD/libc-0.1.13/src/emx/src/lib/startup/386/dll0.s:62 (src/mapi/shared-glapi/libglapi.so.0.0.0): Definition of symbol __text (multiply defined)
src/mapi/shared-glapi/libglapi.so.0.0.0: Definition of symbol ___data_start (multiply defined)
src/mapi/shared-glapi/libglapi.so.0.0.0: Definition of symbol ___bss_start (multiply defined)
[3/16] Generating src/git_sha1.h with a custom command
ninja: build stopped: subcommand failed.