!!! The Windows port of OLA is work-in-progress !!!

==================
Basic Requirements
==================

To build OLA on Windows with MinGW, you need an up-to-date MinGW installation. The MinGW project provides a package manager (MinGW Installation Manager, available at http://sourceforge.net/projects/mingw/files/Installer/).

You need to select:
- mingw-developer-toolkit
- mingw32-base
- mingw32-gcc-g++
- mingw32-pthreads-w32
- msys-base
- msys-coreutils
- msys-wget

!!! TODO: Check and update the list above !!!

Open a MSYS shell an edit ~/.bashrc. Add the following lines:


export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"


In addition, edit ~/.profile and add


[ -f ~/.bashrc ] && . ~/.bashrc


If you haven't configured your MSYS fstab yet, do that as well. See http://www.mingw.org/wiki/Getting_Started for instructions.

==============================
Additional tools and libraries
==============================

pkg-config
----------
- Download pkg-config-lite from http://sourceforge.net/projects/pkgconfiglite/files/
- Extract to MinGW directory (bin-win32 package) or build it from the tarball

Python (optional)
-----------------
- Tested version: 2.7 series
- Download and install Python for Windows from https://www.python.org/downloads/

msys-git
--------
- Download msysgit from https://msysgit.github.com/
- Install and make sure to select "Check-out as is, commit UNIX-style"

libuuid
-------
- Download and extract the latest libuuid tarball from https://code.google.com/p/gnome-build-stage-1/downloads/list
- Configure, compile and install it using the MinGW MSYS shell with option --prefix=/c/MinGW

protobuf
--------
- Download and extract the latest protobuf tarball from https://github.com/google/protobuf
- Configure, compile and install it using the MinGW MSYS shell with option --prefix=/c/MinGW
- if you want to use the OLA Python api, install the protobuf Python bindings from the 'python' subdirectory

cppunit
-------
- Download and extract the latest cppunit tarball from http://sourceforge.net/projects/cppunit/files/cppunit/
- Configure, compile and install it using the MinGW MSYS shell with option --prefix=/c/MinGW

libmicrohttpd
-------------
- Download and extract the latest libmicrohttpd tarball from http://ftp.gnu.org/gnu/libmicrohttpd/
- Configure, compile and install it using the MinGW MSYS shell with option --prefix=/c/MinGW (and --disable-https if you don't want all the crypto stuff)

liblo (optional)
----------------
- Download and extract the latest version of liblo from http://liblo.sourceforge.net/
- Configure, compile and install it using the MinGW MSYS shell with option --prefix=/c/MinGW

libusb (optional)
----------------
- Download and extract the latest version of libusb from http://libusb.info/
- Configure, compile and install it using the MinGW MSYS shell with option --prefix=/c/MinGW

libftdi1 (optional)
----------------
- Download and install libftdi1 from https://www.intra2net.com/en/developer/libftdi/
- Alternatively download a pre-compiled version and install from https://code.google.com/archive/p/picusb/downloads
- Use the Zadig tool from https://sourceforge.net/projects/libwdi/files/zadig/ to install the libusbK for each FTDI device

============
Building OLA
============

* cd ~/your/development/directory
* git clone https://github.com/OpenLightingProject/ola.git ola
* cd ola
* autoreconf -i -f
* ./configure --enable-python-libs --disable-all-plugins --enable-artnet --enable-dummy --enable-espnet --enable-ftdidmx --enable-kinet --enable-osc --enable-pathport --enable-sandnet --enable-shownet --enable-usbdmx
* make
* make install

!!! TODO: Reduce the number of disabled features !!!
