Re: [AD] Small problem with driver removals

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Chris wrote:


Peter Wang wrote:

:-P Turns out Allegro itself does #ifdef checks on the driver constants to see if they need to be built. I changed a bunch of these (#ifdef DIGI_FOO -> #ifdef ALLEGRO_WITH_FOODIGI) but the same problem appears with GFX_VGA and GFX_MODEX (so the ./configure --disable-vga option is broken right now). Changing those #ifdefs would be hairier.


Where exactly does it do this? It did it in src/x/xtimer.c and src/linux/ltimer.c did it, but I fixed those easy enough. Where else?


Quick grep: DIGI_* constants were used in alsa5.c, alsa9.c, arts.c, sgial.c, uesd.c, uoss.c, usnddrv.c. MIDI_* constants were used in alsamidi.c, uossmidi.c, usnddrv.c. GFX_* constants are still used in blit.c, cstretch.c, gsprite.c, istretch.c, modex.c, vga.c, vgaregs.c, rotate.c.

In light of what Allegro was doing, I'd like to revert your changes, Chris. Anyone who wants to refer to a driver constant needs to guard it with an #ifdef.


Until we can completely fix it, yeah. But I still say it's a bug that these things aren't defined even though they're supposed to be. I do consider this a bad API breakage.


Actually, the behaviour of whether driver constants are defined or not has been the same since 4.0.0 (at least), so we're not breaking anything if your changes are reverted.

Peter




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/