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
| Line 20: | Line 20: | ||
== Building OLA Dependancies ==  | == Building OLA Dependancies ==  | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=== libusb ===  | === libusb ===  | ||
| Line 36: | Line 27: | ||
<pre>  | <pre>  | ||
/configure  --disable-dependency-tracking  | /configure  --disable-dependency-tracking  | ||
| − | make CFLAGS="-arch ppc -arch i386"   LDFLAGS=" -arch ppc -arch i386"  | + | make CFLAGS="-arch ppc -arch i386 -arch x86_64"   LDFLAGS=" -arch ppc -arch i386 -arch x86_64"  | 
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/libusb/ make install  | DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/libusb/ make install  | ||
</pre>  | </pre>  | ||
| Line 44: | Line 35: | ||
<pre>  | <pre>  | ||
./configure  --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 -arch x86_64"  LDFLAGS=" -arch ppc -arch i386 -arch x86_64"  | 
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/microhttpd/ make install  | DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/microhttpd/ make install  | ||
</pre>  | </pre>  | ||
| Line 52: | Line 43: | ||
<pre>  | <pre>  | ||
./configure  --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 -arch x86_64" CPPFLAGS="-arch ppc -arch i386 -arch x86_64"  LDFLAGS=" -arch ppc -arch i386 -arch x86_64"  | 
DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/protobuf/ make install  | DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/protobuf/ make install  | ||
./configure --disable-dependency-tracking  | ./configure --disable-dependency-tracking  | ||
| Line 59: | Line 50: | ||
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...  | 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...  | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=== Cleanup ===  | === Cleanup ===  | ||
| Line 85: | Line 67: | ||
<pre>  | <pre>  | ||
| − | |||
| − | |||
| − | |||
| − | |||
microhttpd 0.4.2.mpkg    | microhttpd 0.4.2.mpkg    | ||
microhttpd.pkg     | microhttpd.pkg     | ||
| Line 101: | Line 79: | ||
<pre>  | <pre>  | ||
./configure --disable-dependency-tracking  | ./configure --disable-dependency-tracking  | ||
| − | make  CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"  | + | make  CPPFLAGS="-arch ppc -arch i386 -arch x86_64"  LDFLAGS=" -arch ppc -arch i386 -arch x86_64"  | 
make check  | make check  | ||
sudo make install    | sudo make install    | ||
| Line 114: | Line 92: | ||
<pre>  | <pre>  | ||
| − | /configure --disable-dependency-tracking    | + | ./configure --disable-dependency-tracking    | 
| − | make  CPPFLAGS="-arch ppc -arch i386"  LDFLAGS=" -arch ppc -arch i386"  | + | make  CPPFLAGS="-arch ppc -arch i386 -arch x86_64"  LDFLAGS=" -arch ppc -arch i386 -arch x86_64"  | 
DESTDIR=/Users/simonn/lighting/mac-packaging/ola-examples make install  | DESTDIR=/Users/simonn/lighting/mac-packaging/ola-examples make install  | ||
</pre>  | </pre>  | ||
Revision as of 12:59, 31 October 2010
These are my notes on building universal binary packages for mac.
Contents
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- ~/mac-packaging/build/libusb-1.0.6 # 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 ~/mac-packaging/non-flat-packages/libusb
Building OLA Dependancies
libusb
In ~/mac-packaging/build/libusb-1.0.6:
/configure --disable-dependency-tracking make CFLAGS="-arch ppc -arch i386 -arch x86_64" LDFLAGS=" -arch ppc -arch i386 -arch x86_64" DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/libusb/ make install
libmicrohttpd
./configure --disable-dependency-tracking --with-libgcrypt-prefix=/tmp/foo make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386 -arch x86_64" LDFLAGS=" -arch ppc -arch i386 -arch x86_64" DESTDIR=/Users/simonn/lighting/mac-packaging/non-flat-packages/microhttpd/ make install
protobuf
./configure --disable-dependency-tracking make CFLAGS="-arch ppc -arch i386 -arch x86_64" CPPFLAGS="-arch ppc -arch i386 -arch x86_64" LDFLAGS=" -arch ppc -arch i386 -arch x86_64" 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...
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:
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 -arch x86_64" LDFLAGS=" -arch ppc -arch i386 -arch x86_64" make check sudo make install DESTDIR=/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 make CPPFLAGS="-arch ppc -arch i386 -arch x86_64" LDFLAGS=" -arch ppc -arch i386 -arch x86_64" DESTDIR=/Users/simonn/lighting/mac-packaging/ola-examples 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