1 |
#!/bin/sh -xe |
2 |
|
3 |
# This script is primarily made for the linuxsampler build server. It |
4 |
# copies the files created by the previous Max OS X build steps, and |
5 |
# creates universal binaries from the i686, x86_64 and powerpc |
6 |
# files. Finally, it packs everything in a tar.bz2 archive. |
7 |
|
8 |
LIPO=x86_64-apple-darwin9-lipo |
9 |
P=/home/persson/mac |
10 |
D=linuxsampler_`date +%Y%m%d` |
11 |
|
12 |
createuniv () |
13 |
{ |
14 |
$LIPO -create "$P/x86_64/$1" "$P/i686/$1" "$P/powerpc/$1" \ |
15 |
-output "$D/${2-$1}" |
16 |
} |
17 |
|
18 |
|
19 |
rm -rf linuxsampler_* |
20 |
mkdir -p "$D/LinuxSampler" "$D/lib" |
21 |
|
22 |
|
23 |
# linuxsampler, libgig and dependencies |
24 |
|
25 |
createuniv lib/libogg.0.dylib |
26 |
createuniv lib/libvorbis.0.dylib |
27 |
createuniv lib/libvorbisenc.2.dylib |
28 |
createuniv lib/libFLAC.8.2.0.dylib |
29 |
ln -s libFLAC.8.2.0.dylib "$D/lib/libFLAC.8.dylib" |
30 |
createuniv lib/libsndfile.1.dylib |
31 |
createuniv lib/libgig.6.dylib |
32 |
createuniv lib/linuxsampler/liblinuxsampler.3.dylib lib/liblinuxsampler.3.dylib |
33 |
createuniv bin/linuxsampler LinuxSampler/linuxsampler |
34 |
createuniv bin/lscp LinuxSampler/lscp |
35 |
cp README "$D" |
36 |
cp licenses.txt "$D/LinuxSampler" |
37 |
|
38 |
# AU plugin |
39 |
|
40 |
cp -r "$P/i686/Components/LinuxSamplerAU.component" "$D" |
41 |
createuniv Components/LinuxSamplerAU.component/Contents/MacOS/LinuxSamplerAU LinuxSamplerAU.component/Contents/MacOS/LinuxSamplerAU |
42 |
|
43 |
|
44 |
# VST plugin |
45 |
|
46 |
cp -r "$P/i686/VST/LinuxSampler.vst" "$D" |
47 |
createuniv VST/LinuxSampler.vst/Contents/MacOS/LinuxSampler LinuxSampler.vst/Contents/MacOS/LinuxSampler |
48 |
|
49 |
|
50 |
# Fantasia |
51 |
|
52 |
cp -r "$P/Fantasia.app" "$D/LinuxSampler" |
53 |
|
54 |
|
55 |
# QSampler |
56 |
|
57 |
./make-qsampler-app.sh |
58 |
mv qsampler.app "$D/LinuxSampler" |
59 |
|
60 |
|
61 |
# Gigedit |
62 |
|
63 |
# no powerpc build of gigedit |
64 |
createuniv () |
65 |
{ |
66 |
$LIPO -create "$P/x86_64/$1" "$P/i686/$1" \ |
67 |
-output "$D/${2-$1}" |
68 |
} |
69 |
|
70 |
mkdir -p "$D/LinuxSampler/gigedit.app/Contents/MacOS" \ |
71 |
"$D/lib/gdk-pixbuf-2.0/2.10.0/loaders" \ |
72 |
"$D/lib/pango/1.8.0/modules" \ |
73 |
"$D/lib/gtk-2.0" \ |
74 |
"$D/lib/locale/sv/LC_MESSAGES" \ |
75 |
"$D/lib/locale/de/LC_MESSAGES" \ |
76 |
"$D/lib/linuxsampler/plugins" |
77 |
|
78 |
createuniv lib/gigedit/libgigedit.2.dylib lib/libgigedit.2.dylib |
79 |
createuniv bin/gigedit LinuxSampler/gigedit.app/Contents/MacOS/gigedit |
80 |
createuniv lib/linuxsampler/plugins/libgigeditlinuxsamplerplugin.so |
81 |
|
82 |
for x in libatk-1.0.0.dylib libatkmm-1.6.1.dylib libcairo.2.dylib \ |
83 |
libcairomm-1.0.1.dylib libffi.6.dylib libfontconfig.1.dylib \ |
84 |
libfreetype.6.dylib libgailutil.18.dylib libgdkmm-2.4.1.dylib \ |
85 |
libgdk_pixbuf-2.0.0.dylib libgdk-quartz-2.0.0.dylib libgio-2.0.0.dylib \ |
86 |
libgiomm-2.4.1.dylib libglib-2.0.0.dylib libglibmm-2.4.1.dylib \ |
87 |
libgmodule-2.0.0.dylib libgobject-2.0.0.dylib libgthread-2.0.0.dylib \ |
88 |
libgtkmm-2.4.1.dylib libgtk-quartz-2.0.0.dylib libintl.8.dylib \ |
89 |
libjpeg.8.dylib libpango-1.0.0.dylib libpangocairo-1.0.0.dylib \ |
90 |
libpangomm-1.4.1.dylib libpixman-1.0.dylib libpng15.15.dylib \ |
91 |
libsigc-2.0.0.dylib libtiff.3.dylib \ |
92 |
gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so \ |
93 |
pango/1.8.0/modules/pango-basic-coretext.so |
94 |
do |
95 |
$LIPO -create "/home/persson/macgtk64/lib/$x" \ |
96 |
"/home/persson/macgtk32/lib/$x" \ |
97 |
-output "$D/lib/$x" |
98 |
done |
99 |
|
100 |
cp PkgInfo Info.plist "$D/LinuxSampler/gigedit.app/Contents" |
101 |
cp pango.modules "$D/lib/pango/pango.modules" |
102 |
cp gdk-pixbuf.loaders "$D/lib/gtk-2.0" |
103 |
cp $P/x86_64/share/locale/de/LC_MESSAGES/gigedit.mo "$D/lib/locale/de/LC_MESSAGES" |
104 |
cp $P/x86_64/share/locale/sv/LC_MESSAGES/gigedit.mo "$D/lib/locale/sv/LC_MESSAGES" |
105 |
cp /home/persson/macgtk64/share/locale/de/LC_MESSAGES/gtk20.mo "$D/lib/locale/de/LC_MESSAGES" |
106 |
cp /home/persson/macgtk64/share/locale/sv/LC_MESSAGES/gtk20.mo "$D/lib/locale/sv/LC_MESSAGES" |
107 |
|
108 |
|
109 |
# package |
110 |
|
111 |
tar cjf "$D.tar.bz2" "$D" |