1 |
schoenebeck |
1175 |
Compiling linuxsampler for Mac OS X with XCode |
2 |
|
|
============================================== |
3 |
|
|
|
4 |
|
|
Requirements |
5 |
|
|
------------ |
6 |
|
|
|
7 |
|
|
The XCode project uses autotools build files. On Mac OS 10.4, you need |
8 |
|
|
to install pkg-config (available at http://pkgconfig.freedesktop.org/wiki/). |
9 |
|
|
|
10 |
|
|
If you are to build the CVS snapshot, then you need to do the following |
11 |
|
|
steps to make autotools work correctly: |
12 |
|
|
|
13 |
|
|
$ sudo ln -sf /usr/bin/glibtoolize /usr/local/bin/libtoolize |
14 |
|
|
$ sudo cat >/usr/local/bin/aclocal <<'EOF' |
15 |
|
|
#!/bin/sh |
16 |
|
|
/usr/bin/aclocal -I /usr/local/share/aclocal $@ |
17 |
|
|
EOF |
18 |
|
|
$ sudo chmod +x /usr/local/bin/aclocal |
19 |
|
|
|
20 |
|
|
Layout of the Directories |
21 |
|
|
------------------------- |
22 |
|
|
|
23 |
|
|
The XCode project for libgig creates a temporary build directory as |
24 |
|
|
"$LS/../temp_build/$BUILD_STYLE" (where $LS is the linuxsampler |
25 |
|
|
directory, and $BUILD_STYLE is the build style defined in the XCode |
26 |
|
|
project). In this directory, the following subdirectories are created |
27 |
|
|
and used: |
28 |
|
|
$BASELS.build: |
29 |
|
|
Intermediate build directory. Symbolic links to the original |
30 |
|
|
source files are placed and "configure && make" is performed in |
31 |
|
|
this directory. ($BASELS is the basename of the linuxsampler |
32 |
|
|
directory.) |
33 |
|
|
local: |
34 |
|
|
The linuxsampler binary is "installed" in this directory as |
35 |
|
|
local/bin/linuxsampler. |
36 |
|
|
|
37 |
|
|
This layout of the directories is similar to that of the libgig |
38 |
|
|
project, on which linuxsampler is dependent. You need to compile |
39 |
|
|
libgig first (with the same settings as this linuxsampler XCode |
40 |
|
|
project). So it is best to create a common directory, place the |
41 |
|
|
libgig and linuxsampler directories in it, and build libgig and |
42 |
|
|
linuxsampler in this order. See also "osx/README.mac" in libgig. |
43 |
|
|
|
44 |
|
|
Universal Binaries |
45 |
|
|
------------------ |
46 |
|
|
|
47 |
|
|
Universal Binaries are not automatically created by the XCode project. |
48 |
|
|
However, it is easy to create them by hands as follows: |
49 |
|
|
|
50 |
|
|
$ cd $LS # Move to the linuxsampler directory |
51 |
|
|
$ mkdir -p ../temp_build/UB/bin |
52 |
|
|
$ cd ../temp_build/Deployment_ppc |
53 |
|
|
$ i=bin/linuxsampler |
54 |
|
|
$ lipo -create $i ../Deployment_i386/$i -output ../UB/$i |
55 |
|
|
|
56 |
|
|
Additional Information |
57 |
|
|
---------------------- |
58 |
|
|
|
59 |
|
|
The XCode project just invokes autoconf_builder.sh with after |
60 |
|
|
setting relevant environmental variables. If you are interested |
61 |
|
|
(or feel suspicious), please examine autoconf_builder.sh. |
62 |
|
|
|
63 |
|
|
6 May 2007 |
64 |
|
|
Written by Toshi Nagata |