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 65: | Line 65: | ||
</pre> | </pre> | ||
− | == Creating | + | == 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 | 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 | ||
Line 113: | Line 113: | ||
<pre> | <pre> | ||
find ./ -name "*.DS_Store" -exec rm {} \; | find ./ -name "*.DS_Store" -exec rm {} \; | ||
− | <pre> | + | </pre> |
== Create the main package & build == | == Create the main package & build == | ||
Add the 4 dependancies, ola & ola-tools | Add the 4 dependancies, ola & ola-tools |
Revision as of 17:20, 31 January 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- # 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 prefix=/Users/simonn/lighting/mac-packaging/non-flat-packages/libartnet/ --disable-dependency-tracking make CFLAGS="-arch ppc -arch i386" LDFLAGS=" -arch ppc -arch i386" make install
libmicrohttpd
./configure prefix=~/mac-packaging/non-flat-packages/microhttpd/ --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 install
protobuf
./configure prefix=~/lighting/mac-packaging/non-flat-packages/protobuf/ --disable-dependency-tracking make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386" LDFLAGS=" -arch ppc -arch i386" 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 prefix=/Users/simonn/lighting/mac-packaging/non-flat-packages/ctemplate/ --disable-dependency-tracking make CFLAGS="-arch ppc -arch i386" CPPFLAGS="-arch ppc -arch i386" LDFLAGS=" -arch ppc -arch i386" make check 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