Note: This is only going to change SDL 0.9.x – 0.8.x will remain the
same.I’ve been thinking about splitting SDL into several libraries, based
on functionality:
SDLcore – Base functionality: error handling, threads, etc.
(will probably go in libSDL.a)
SDLvideo – Video/Mouse/Keyboard
SDLaudio – Audio
SDLcd – CD-ROM controlAnd eventually:
SDLnet – Network (sockets) wrapper
SDLmidi – MIDI interface
SDLjoy – Joystick input
SDLgui – Very basic GUI framework (plug-in your widgets and run)The advantage of this is you only load the modules you need in your
application, to keep a smaller memory footprint, and I’d be much more
likely to add things like MIDI support and network support, because
then the people who don’t need them don’t have to use them.The disadvantage of this is we break 8.3 filename limitations on Win32
(which shouldn’t be a problem) and suddenly now we have a plethora of
library files cluttering up the installation directories.I would probably rename some of the functions to more accurately reflect
the portion of SDL in which they reside. This would require slight code
changes in your 0.9.x based applications.Thoughts? Comments?
I’ll probably do this very soon if people like the idea.
- I think it’s basicly a good idea for the reasons you’ve given
- I can imagine that this might make everything more difficult
really, you know, several dlls. I like the idea of a single dll
that does all the things and different add-on static libs you
use. If you say the memory footprint is smaller, I could say
you normally have only one game at a moment running and
this is not like a kernel or window manager which are essential
but more multimedia-like so I don’t mind 50k more memory
usage. - The network library is for example not going to become that
large anyway, so why don’t we just link that statically? It makes
life easier…
I might be wrong the points 2 and 3
Paulus Esterhazy (@Paulus_Esterhazy)