0. Building on *nix from git repository

    Run the autogen script to generate configure, you'll need the autoconf tools
    installed, then proceed to step 1.

    $ ./autogen.sh

1. Building on *nix from a release

    $ ./configure
    $ make
    $ make check   # (optional, but highly recommended)
    $ sudo make install

2. Building on iOS

    Use on the xcode project in IDE/iOS/wolfssl.xcodeproj
    There is a README in IDE/iOS with more information

3. Building on Windows

    Use the 32bit Visual Studio Solution wolfssl.sln
    For a 64bit solution please use wolfssl64.sln

4. Building with IAR

    Please see the README in IDE/IAR-EWARM for detailed instructions

5. Building with Keil

    Please see the Keil Projects in IDE/MDK5-ARM/Projects

6. Building with Microchip tools

    Please see the README in mplabx

7. Building with Freescale MQX

    Please see the README in mqx

8. Porting to a new platform

    Please see section 2.4 in the manual:
    http://www.wolfssl.com/yaSSL/Docs-cyassl-manual-2-building-cyassl.html

