
To compile and install SDL:

    1.  Windows with Visual Studio:
        * Read VisualC.html

        Windows with gcc, either native or cross-compiling:
        * Read the FAQ at http://wiki.libsdl.org/moin.fcg/FAQWindows
        * Run './configure; make; make install'

        Mac OS X with Xcode:
        * Read docs/README-macosx.md

        Mac OS X from the command line:
        * Run './configure; make; make install'

        Linux and other UNIX systems:
        * Run './configure; make; make install'

        Android:
        * Read docs/README-android.md

        iOS:
        * Read docs/README-ios.md

        Using Cmake:
        * Read docs/README-cmake.md

    2.  Look at the example programs in ./test, and check out the online
        documentation at http://wiki.libsdl.org/

    3.  Join the SDL developer mailing list by sending E-mail to
    	sdl-request@libsdl.org
        and put "subscribe" in the subject of the message.

        Or alternatively you can use the web interface:
            http://www.libsdl.org/mailing-list.php

That's it!
Sam Lantinga <slouken@libsdl.org>
