==== BASIC INSTALLATION ====

0. INSTALL REQUIRED SOFTWARE

Compiling libconcord with MinGW is now the officially supported method.  Other
methods may work, but are not officially supported at this time.  Libconcord
has been compiled on Fedora using MinGW - other distributions may work as well.

If you are cross-compiling on Linux, your life will be easier if you make
a directory where you will install all of the dependencies in with --prefix.
For the purposes of this document, we'll assume that's /tmp/buildroot.

ZLIB
In Fedora, simply install the mingw32-zlib package.

For other distributions, including building on Windows directly, grab the
pre-built DLL from zlib.net. In the unzip'd directory do:
  mkdir -p /tmp/buildroot/{include,lib}
  cp lib/zdll.lib lib/libzdll.a # See USAGE.txt in zlib for details
  cp zlib1.dll lib
  cp -r lib/* /tmp/buildroot/lib/
  cp -r include/* /tmp/buildroot/include/

LIBZIP
In Fedora, simply install mingw32-libzip.

For other distributions, including building on Windows directly, grab the
source, and then:
  ./configure --host=i686-w64-mingw32 --prefix=/tmp/buildroot \
    --with-zlib=/tmp/buildroot \
    LDFLAGS="-lzdll -L/tmp/buildroot/lib"
  make
  make install

HIDAPI
In Fedora, simply install mingw32-hidapi.

For other distributions, including building on Windows directly, grab the
source from https://github.com/signal11/hidapi. Get it from git (NOT a
release) and then:
  ./bootstrap
  ./configure --host=i686-w64-mingw32 --prefix=/tmp/buildroot
  make
  make install

1. BUILD THE SOFTWARE

Building libconcord with MinGW is also fairly straight forward.

In Fedora:
   mingw32-configure
   mingw32-make

For other distributions:
   ./configure --host=i686-w64-mingw32 --prefix=/tmp/buildroot \
     CPPFLAGS="-I/tmp/buildroot/include" \
     LDFLAGS="-L/tmp/buildroot/libs -L/tmp/buildroot/libs/bin" \
     PKG_CONFIG_PATH=/tmp/buildroot/lib/pkgconfig
   make

vim:textwidth=78:
