Instructions for Compiling Firefly from its source code
1. Install the broadcom toolset into /opt/brcm
2. export PATH=$PATH:/opt/brcm/hndtools-mipsel-linux/bin
3. export LDFLAGS=../lib
4. export CPPFLAGS=../include
You must start by building the dependencies of mt-daapd first. When you build
these you will need to copy the .a and .so to a lib directory that you include
in your LDFLAGS path, in my case it was one directory above the mt-daapd
directory which is why my ldflags and cppflags point to the directory above in
steps 3 and 4 above.
You must also copy these .h files from the projects below to a common include
directory that will be included with the cppflags
zlib.h
zconf.h
gdbm.h
id3tag.h
sqlite3.h
For each of the these projects you must start by running the ./configure command
with --host=mipsel-linux parameter and then run make
1. Build sqlite3-3.3.8 library
2. Build libid3tag-0.15.1b library
3. Build zlib-1.2.3 library
4. Build gdbm-1.8.3 library
Now you can compile the main mt-daapd project
you must run ./configure first with the correct parameters. Here is the command
line with parameters as I run it
./configure --host=mipsel-linux --enable-sqlite3 --with-id3tag --enable-mdns
--with-static-libs=../lib ac_cv_func_setpgrp_void=yes
This should succeed so that you can now run make, however you now need to modify
the source code in mt-daapd. To do this run
find . -print | xargs grep os_drop_privs
This will show you all places in the code where this variable is
used. Every occurrence of this variable must be commented out. In some cases
this is in an if statement and everything inside the if can be commented out as
well. This should now produce a mt-daapd that will run on the Media Vault.