* How to cross compile libftdi-1.x for Windows? *
   1 - To cross-compile for Win32 with mingw, you need to
       have libusb-1.0 for Windows. libusbx is a fork of libusb-1.0
       project which has gained popularity under Windows and Linux.
       Therefore the instruction here uses libusbx. The process to
       use libusb-1.0 from libusb.org is similar but take note it
       does not offer Windows binary as of Jan 09 2013.

   2 - Get libusbx Windows release binary from Sourceforge.
       http://sourceforge.net/projects/libusbx/files/releases/

   3 - The release version is libusbx-1.0.14-win.7z (706.2KB)
       as of Jan 09, 2013.

   4 - Alternatively you can also build form the release source tar ball
       or the git source tree following standard cross compile process

   5 - Copy include/libusbx-1.0/libusb.h to the include directory of your
       cross compiler, eg.,
       /opt/cross/i386-mingw32msvc/include/

   6 - Copy MinGW32/static/libusb-1.0.a and MinGW32/dll/libusb-1.0.dll.a
       to the library directory of your cross compiler, eg.,
       /opt/cross/i386-mingw32msvc/lib/

   7 - Create a build directory like "mkdir build-win32", e.g in ../libftdi/

   8 - edit Toolchain-mingw32.cmake to reflect your cross compiler location.

   9 - cd into the build directory and run
       "cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake .."

  10 - Copy src/ftdi.h to the include directory of your cross compiler,
         eg., /opt/cross/i386-mingw32msvc/include/

  11 - Copy build-win32/src/*.a to the library directory of your cross compiler,
         eg., /opt/cross/i386-mingw32msvc/lib/


* How to run libftdi-1.x under Windows *

libusbx (or libusb-1.0) Windows backend will rely on a proper driver to run.
Please refer to the following wiki page on the instruction of
installation of the proper driver.
https://github.com/libusbx/libusbx/wiki/Windows-Backend#wiki-How_to_use_libusbx_on_Windows

As of Jan 09 2013, libusb-1.0 Windows backend only supports WinUSB
and libusbx's support of libusb0.sys and libusbk.sys are considered less
mature than WinUSB. Therefore, WinUSB driver installation using Zadig
is recommended.

Take note once you replace the original FTDI driver with WinUSB driver,
you can no longer use the functionality the original FTDI driver provides
(eg. Virtual Serial Port or D2XX).
