Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "Building OLA for Windows"

From wiki.openlighting.org

Jump to: navigation, search
(Build OLA)
Line 1: Line 1:
 
This describes how to get OLA compiled for windows, it's a work in progress so it's unlikely to work as is. This tutorial uses gcc as the compiler, other compilers have not been tested.
 
This describes how to get OLA compiled for windows, it's a work in progress so it's unlikely to work as is. This tutorial uses gcc as the compiler, other compilers have not been tested.
 +
 +
During [[GSOC2014WindowsPort|Google Summer of Code 2014]], this port will be worked on as one of the selected projects.
  
 
== Install Mingw, msys & build tools ==
 
== Install Mingw, msys & build tools ==
Line 7: Line 9:
 
Once the installer has completed, open the msys shell (under Programs > MinGW) and install some additional packages:
 
Once the installer has completed, open the msys shell (under Programs > MinGW) and install some additional packages:
  
  $ mingw-get.exe install msys-automake msys-autoconf libtool
+
  $ mingw-get.exe install msys-coreutils
  
 
== Install Git ==
 
== Install Git ==
Line 17: Line 19:
 
  PATH="$PATH:/c/Program Files/Git/bin"
 
  PATH="$PATH:/c/Program Files/Git/bin"
 
  alias git=git.exe
 
  alias git=git.exe
 
== Install Dependencies ==
 
 
For each of these it should be as simple as downloading the package, placing it in C:\MinGW\msys\1.0\home\USER , un-taring the package and running ./configure  , make & make install.
 
 
* http://code.google.com/p/protobuf/ . Note you need to install the .tar.gz as the zip just contains protoc (we need the libraries as well)
 
* http://www.ossp.org/pkg/lib/uuid/
 
* http://sourceforge.net/projects/cppunit/files/
 
* http://plibc.sourceforge.net/  (required for microhttpd)
 
* ftp://ftp.gnu.org/gnu/libmicrohttpd/  (skip this for now - it's not building yet)
 
  
 
== Install pkg-config ==
 
== Install pkg-config ==
  
This is a bit of a pain - see [http://www.mingw.org/wiki/FAQ MinGW FAQ] . The packages can be found [http://www.gtk.org/download-windows.html here].  The easiest is to download the latest "All-in-one bundles" and extract it to C:\MinGW\msys\1.0  .
+
Download pkg-config-lite from http://sourceforge.net/projects/pkgconfiglite/files/ (the latest binary should work) and extract it to your MinGW directory.
  
 
You also need to add
 
You also need to add
Line 39: Line 31:
  
 
to your .bashrc file.
 
to your .bashrc file.
 +
 +
You might also want to edit your .profile file and add <pre>[ -f ~/.bashrc ] && . ~/.bashrc</pre>
 +
 +
 +
== Install Dependencies ==
 +
 +
For each of these it should be as simple as downloading the package, placing it in C:\MinGW\msys\1.0\home\USER , un-taring the package and running ./configure  , make & make install.
 +
 +
* http://sourceforge.net/projects/cppunit/files/
 +
 +
=== 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
 +
 +
=== protobuf ===
 +
 +
* Download and extract the latest protobuf tarball from https://code.google.com/p/protobuf/downloads/list
 +
* Configure, compile and install it using the MinGW MSYS shell
  
 
== Build OLA ==
 
== Build OLA ==
Line 45: Line 56:
  
 
   $ git.exe clone https://github.com/OpenLightingProject/ola.git
 
   $ git.exe clone https://github.com/OpenLightingProject/ola.git
 +
 +
* Prepare autotools files
 +
  $ autoreconf -i -f
  
 
* Run ./configure
 
* Run ./configure
Line 54: Line 68:
 
== Current State / TODO ==
 
== Current State / TODO ==
  
* Everything in common/ now builds under win32
+
See the [[GSOC2014WindowsPort|GSOC project page]].
* The USB Pro plugin needs a way to find devices, obviously /dev doesn't exist
 
* The DMX USB requires libusb win32. Not sure what the status of this is
 
  
 
== Problems ==
 
== Problems ==

Revision as of 09:27, 2 May 2014

This describes how to get OLA compiled for windows, it's a work in progress so it's unlikely to work as is. This tutorial uses gcc as the compiler, other compilers have not been tested.

During Google Summer of Code 2014, this port will be worked on as one of the selected projects.

Install Mingw, msys & build tools

Together MinGW & msys provide a unix-style shell environment & compiler suite for windows. Read the instructions at the MinGW site for more info. MinGW now provides an installer to get most of the system up and running quickly. Download the installer and make sure you select "C++ Compiler". "MSYS Basic System" & "MinGW Developer Toolkit" when prompted.

Once the installer has completed, open the msys shell (under Programs > MinGW) and install some additional packages:

$ mingw-get.exe install msys-coreutils

Install Git

Git is used to checkout (and commit) the ola sources. See http://code.google.com/p/msysgit/, be sure to select "checkout as is, commit unix style" during the install otherwise you'll get autoconf errors.

Add the following line to your .bashrc file so that git can be used within msys:

PATH="$PATH:/c/Program Files/Git/bin"
alias git=git.exe

Install pkg-config

Download pkg-config-lite from http://sourceforge.net/projects/pkgconfiglite/files/ (the latest binary should work) and extract it to your MinGW directory.

You also need to add

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

to your .bashrc file.

You might also want to edit your .profile file and add
[ -f ~/.bashrc ] && . ~/.bashrc


Install Dependencies

For each of these it should be as simple as downloading the package, placing it in C:\MinGW\msys\1.0\home\USER , un-taring the package and running ./configure , make & make install.

libuuid

protobuf

Build OLA

  • Do a git checkout of OLA
 $ git.exe clone https://github.com/OpenLightingProject/ola.git
  • Prepare autotools files
 $ autoreconf -i -f
  • Run ./configure
 $ ./configure
  • Build
 $ make

Current State / TODO

See the GSOC project page.

Problems