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 "Build OLA Mac Packages"

From wiki.openlighting.org

Jump to: navigation, search
Line 23: Line 23:
  
 
<pre>
 
<pre>
/configure prefix=/Users/simonn/lighting/mac-packaging/non-flat-packages/libartnet/ --disable-dependency-tracking
+
/configure --disable-dependency-tracking
 
make CFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
 
make CFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
make install
+
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/libartnet/ make install
 
</pre>
 
</pre>
  
Line 31: Line 31:
  
 
<pre>
 
<pre>
./configure prefix=~/mac-packaging/non-flat-packages/microhttpd/ --disable-dependency-tracking --with-libgcrypt-prefix=/tmp/foo
+
./configure --disable-dependency-tracking --with-libgcrypt-prefix=/tmp/foo
 
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
 
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
make install
+
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/microhttpd/ make install
 
</pre>
 
</pre>
  
Line 39: Line 39:
  
 
<pre>
 
<pre>
./configure prefix=~/lighting/mac-packaging/non-flat-packages/protobuf/ --disable-dependency-tracking
+
./configure --disable-dependency-tracking
 
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
 
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
make install
+
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/protobuf/ make install
 
./configure --disable-dependency-tracking
 
./configure --disable-dependency-tracking
 
sudo make install
 
sudo make install
Line 51: Line 51:
  
 
<pre>
 
<pre>
./configure prefix=/Users/simonn/lighting/mac-packaging/non-flat-packages/ctemplate/ --disable-dependency-tracking
+
./configure --disable-dependency-tracking
 
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
 
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
 
make check
 
make check
make install
+
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/ctemplate/ make install
 
</pre>
 
</pre>
  

Revision as of 00:20, 22 February 2010

These are my notes on building universal binary packages for mac.

Directory setup

# extracted tarballs
~/mac-packaging/build/libartnet-1.1.0
~/mac-packaging/build/libmicrohttpd-0.4.2
~/mac-packaging/build/protobuf-2.2.0
~/mac-packaging/build/ctemplate-
# install desintations
~/mac-packaging/non-flat-packages/libartnet
~/mac-packaging/non-flat-packages/libmicrohttpd
~/mac-packaging/non-flat-packages/protobuf
~/mac-packaging/non-flat-packages/ctemplate

Building OLA Dependancies

libartnet

In ~/mac-packaging/build/libartnet-1.1.0:

/configure  --disable-dependency-tracking
make CFLAGS="-arch ppc -arch i386"   LDFLAGS=" -arch ppc -arch i386"
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/libartnet/ make install

libmicrohttpd

./configure  --disable-dependency-tracking --with-libgcrypt-prefix=/tmp/foo
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/microhttpd/ make install

protobuf

./configure  --disable-dependency-tracking
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/protobuf/ make install
./configure --disable-dependency-tracking
sudo make install

The second make install is required so that ola-examples builds. I'm sure there is a way around this but I can't figure it out...

ctemplate

./configure  --disable-dependency-tracking
make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
make check
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/ctemplate/ make install

Cleanup

In ~/lighting/mac-packaging/non-flat-packages, run

find ./ -name ".DS_Store" -exec rm {} \;

Creating Dependancy Packages

Using PackageMaker, create a distribution package for each of the dependancies. Remember to fix the permissions and set Package Location to 'Same Level'. Build the package and save it in ~/lighting/mac-packaging/non-flat-packages


~/lighting/mac-packaging/non-flat-packages should now look something like:

ctemplate 0.96.mpkg 
ctemplate.pkg  
libartnet 1.1.0.mpkg 
libartnet 1.1.0.pkg  
microhttpd 0.4.2.mpkg 
microhttpd.pkg  
protobuf 2.2.0.mpkg 
protobuf 2.2.0.pkg  

Building ola & ola-examples

Unpack the ola tarball, then run

./configure --disable-dependency-tracking
make  CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
make check
sudo make install
# flip the install location to the temp directory
./configure --disable-dependency-tracking --prefix=/Users/simonn/lighting/mac-packaging/ola
make install


Again, The first make install is required so that ola-examples builds. I'm sure there is a way around this but I can't figure it out...


Unpack the ola-examples tarball and run:

/configure --disable-dependency-tracking --prefix=/Users/simonn/lighting/mac-packaging/ola-tools
make  CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"
make install

Clean up the .DS_Store files in ola & ola-tools

find ./ -name "*.DS_Store" -exec rm {} \;

Create the main package & build

Add the 4 dependancies, ola & ola-tools