Now that 64-bit computing is becoming mainstream thanks to AMD64, I think it
is time to make Allegro 64-bit clean. The library already compiles with GCC
in strict mode on AMD64/Linux (thanks to Philipp Thomas from SUSE) but I
don't think it really works. It also compiles on SPARC64/Solaris.
The first goal is to make it work with GCC. On 64-bit platforms, GCC is
almost always LP64 (32-bit int, 64-bit long, 64-bit pointer). I've attached
the (purged of noise) result of grep "long" on allegro._tx. The good news
is that there are not many problems; but some are deeply rooted in the
library (e.g. the use of 'long' for 32-bit pixel values).
I think a reasonable approach is to try not to make incompatible changes on
32-bit platforms and break compatibility as much as we need on 64-bit
platforms. We could even think of backporting the work to the stable
branch.
--
Eric Botcazou