Compiling linuxsampler for Mac OS X with XCode ============================================== Requirements ------------ The XCode project uses autotools build files. On Mac OS 10.4, you need to install pkg-config (available at http://pkgconfig.freedesktop.org/wiki/). If you are to build the CVS snapshot, then you need to do the following steps to make autotools work correctly: $ sudo ln -sf /usr/bin/glibtoolize /usr/local/bin/libtoolize $ sudo cat >/usr/local/bin/aclocal <<'EOF' #!/bin/sh /usr/bin/aclocal -I /usr/local/share/aclocal $@ EOF $ sudo chmod +x /usr/local/bin/aclocal Layout of the Directories ------------------------- The XCode project for libgig creates a temporary build directory as "$LS/../temp_build/$BUILD_STYLE" (where $LS is the linuxsampler directory, and $BUILD_STYLE is the build style defined in the XCode project). In this directory, the following subdirectories are created and used: $BASELS.build: Intermediate build directory. Symbolic links to the original source files are placed and "configure && make" is performed in this directory. ($BASELS is the basename of the linuxsampler directory.) local: The linuxsampler binary is "installed" in this directory as local/bin/linuxsampler. This layout of the directories is similar to that of the libgig project, on which linuxsampler is dependent. You need to compile libgig first (with the same settings as this linuxsampler XCode project). So it is best to create a common directory, place the libgig and linuxsampler directories in it, and build libgig and linuxsampler in this order. See also "osx/README.mac" in libgig. Universal Binaries ------------------ Universal Binaries are not automatically created by the XCode project. However, it is easy to create them by hands as follows: $ cd $LS # Move to the linuxsampler directory $ mkdir -p ../temp_build/UB/bin $ cd ../temp_build/Deployment_ppc $ i=bin/linuxsampler $ lipo -create $i ../Deployment_i386/$i -output ../UB/$i Additional Information ---------------------- The XCode project just invokes autoconf_builder.sh with after setting relevant environmental variables. If you are interested (or feel suspicious), please examine autoconf_builder.sh. 6 May 2007 Written by Toshi Nagata