[racket] What's involved in distributing a game that uses Allegro video game bindings?
Let me mutter for a bit and see if this all makes sense.
* Jon Rafkind's bindings (https://github.com/kazzmir/racket-allegro-5)
use the FFI and assume the presence of the Allegro 5 shared libraries.
* If I wanted to build binary packages for the main platforms (Linux,
Windows, Mac OS X) that does not assume these bindings are already
installed, then I must distribute the shared libraries with my
program, too.
* That means I should somehow obtain or generate the shared libraries
for the three platforms. I can get the Windows ones easily from
http://www.allegro.cc/files/, and generate the Linux and Mac OS X ones
by building from source.
* I will need to adjust Jon's FFI bindings to use the correct set of
shared libraries based on (system-type).
* I should use 'define-runtime-path' for each of the shared libraries,
so that 'raco distribute' can properly collect them. Since the
libraries are platform-specific, I should do a compile-time
computation to include the right set of libraries based on the current
platform.
Does that sound about right?