>Physically SDL is a shared Library, sdl.library, and
Not always. The OS 4 version of SDL for example is (at least currently) a Linker Library. As is the Linux-version of SDL.
Anyways, basically SDL covers the aspects:
- Joysticks (I have a Beta of an SDL version which
uses AmigaInput, BTW

)
- Sound
- Video (2D), also includes Blitting, and also conversion to a specific pixel format
- Interface to GL for 3D
- Timer
- Semaphores and other stuff for Multithreading and such
- Mouse/Keyboard
Hope I did not forget anything

There are also some "Extra-"Libraries for SDL (but not officially part of SDL):
SDL_mixer: For mixing of sounds
SDL_image: various image-loaders
SMpeg: Movie Replay
Basically, if done good, you can take the same source and compile it on any OS.
SDL also has some disadvantages though, and
because of that it was always quite a dispute, some
coders always use SDL, some never

:
- It does not include a Text() function, you have to do
all textoutput code yourselves
- You cannot access the Amiga Screen/Window
handles if you'd want to do so (but if you code
OS-independent, you'd not do so anyways)
- You do not have Direct Access to the Video RAM
(okay, you can hack that in using MiniGL commands
were you HAVE such possibilities, hehehe

But
of course then you throw OS-independency out of
the window again)
- Not all Amiga Implementations of SDL have MiniGL
Support
- The 2D Blitting functions (used for screen refresh) of some SDL implementations on Amiga are said to be slow
Based on the current SDL Beta for OS 4 there are
several ports using SDL for OS 4 already, including
MAME and other popular stuff.
Steffen