A little while ago I sent out a patch to revert Elias's addition of the
various multisampling/depth buffer additions to gl_ext.h (and the
associated headers) as it broke ABI compatibility. Those additions were
obviously useful, and it'd be a terrible state of affairs if we couldn't
ever add anything to gl_ext.h again due to the fear of breaking ABI
compatibility. Initially, I thought that the macro magic we use to
generate that API was at fault, so I had an idea to replace it with a
Python generator script that would append things at the end of the
ALLEGRO_OGL_EXT_LIST/ALLEGRO_OGL_EXT_API structs instead of in the very
middle as is done today. Unfortunately, as I started working on it I
realised that the source headers (e.g. gl_ext_alias.h) are full of
macros. Depending on the platform details you compile Allegro in, you
get a completely different API.
That was disheartening, and I'm now leaning just wrapping the entirety
of gl_ext.h inside ALLEGRO_UNSTABLE check and just punting the whole
issue. Any opinions?
Incidentally, once this issue is addressed, I'm thinking of releasing
5.2.2 soon, as we have updates to get things to compile on the new OSX
as well as some significant Android-related changes.
Allegro-developers mailing list