|
|
@@ -4,60 +4,49 @@ |
|
|
|
# automake, autoconf, bison, flex, libtool |
|
|
|
# p5-libxml-perl, p5-xml-libxml, p7zip, pkgconfig |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# stop on error |
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# cd to correct path |
|
|
|
|
|
|
|
if [ -f Makefile ]; then |
|
|
|
cd data/linux |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# set target dir |
|
|
|
|
|
|
|
TARGETDIR=$HOME/builds |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# function to remove old stuff |
|
|
|
|
|
|
|
cleanup() |
|
|
|
{ |
|
|
|
|
|
|
|
rm -rf $TARGETDIR/carla/ $TARGETDIR/carla32/ $TARGETDIR/carla64/ |
|
|
|
# rm -rf cx_Freeze-* |
|
|
|
# rm -rf Python-* |
|
|
|
# rm -rf PyQt-* |
|
|
|
# rm -rf file-* |
|
|
|
# rm -rf flac-* |
|
|
|
# rm -rf fltk-* |
|
|
|
# rm -rf fluidsynth-* |
|
|
|
# rm -rf fftw-* |
|
|
|
# rm -rf gettext-* |
|
|
|
# rm -rf glib-* |
|
|
|
# rm -rf libffi-* |
|
|
|
# rm -rf libgig-* |
|
|
|
rm -rf $TARGETDIR/carla32/ $TARGETDIR/carla64/ |
|
|
|
rm -rf file-* |
|
|
|
rm -rf flac-* |
|
|
|
rm -rf fltk-* |
|
|
|
rm -rf fluidsynth-* |
|
|
|
rm -rf libgig-* |
|
|
|
rm -rf liblo-* |
|
|
|
# rm -rf libogg-* |
|
|
|
# rm -rf libsndfile-* |
|
|
|
# rm -rf libvorbis-* |
|
|
|
# rm -rf linuxsampler-* |
|
|
|
# rm -rf mxml-* |
|
|
|
rm -rf libogg-* |
|
|
|
rm -rf libsndfile-* |
|
|
|
rm -rf libvorbis-* |
|
|
|
rm -rf linuxsampler-* |
|
|
|
rm -rf pkg-config-* |
|
|
|
# rm -rf pyliblo-* |
|
|
|
# rm -rf qtbase-* |
|
|
|
# rm -rf qtmacextras-* |
|
|
|
# rm -rf qtsvg-* |
|
|
|
# rm -rf sip-* |
|
|
|
# rm -rf zlib-* |
|
|
|
# rm -rf PaxHeaders.20420 |
|
|
|
rm -rf zlib-* |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
cleanup |
|
|
|
exit 0 |
|
|
|
|
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# function to build base libs |
|
|
|
|
|
|
|
build_base() |
|
|
@@ -70,14 +59,14 @@ export PREFIX=$TARGETDIR/carla$ARCH |
|
|
|
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin |
|
|
|
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig |
|
|
|
|
|
|
|
export CFLAGS="-O2 -mtune=generic -msse -msse2 -mfpmath=sse -fvisibility=hidden -fdata-sections -ffunction-sections" |
|
|
|
export CFLAGS="$CFLAGS -m$ARCH -fPIC -DPIC -DNDEBUG -I$PREFIX/include" |
|
|
|
export CFLAGS="-O3 -mtune=generic -msse -msse2 -mfpmath=sse -fvisibility=hidden -fdata-sections -ffunction-sections" |
|
|
|
export CFLAGS="$CFLAGS -fPIC -DPIC -DNDEBUG -I$PREFIX/include" |
|
|
|
export CXXFLAGS="$CFLAGS -fvisibility-inlines-hidden" |
|
|
|
|
|
|
|
export LDFLAGS="-fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-O1 -Wl,--as-needed -Wl,--strip-all" |
|
|
|
export LDFLAGS="$LDFLAGS -m$ARCH -L$PREFIX/lib" |
|
|
|
export LDFLAGS="$LDFLAGS -L$PREFIX/lib" |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# pkgconfig |
|
|
|
|
|
|
|
if [ ! -d pkg-config-0.28 ]; then |
|
|
@@ -95,7 +84,7 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# liblo |
|
|
|
|
|
|
|
if [ ! -d liblo-0.28 ]; then |
|
|
@@ -113,30 +102,13 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
if [ "$ARCH" == "32" ]; then |
|
|
|
return |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# file/magic |
|
|
|
|
|
|
|
if [ ! -d file-5.25 ]; then |
|
|
|
curl -O ftp://ftp.astron.com/pub/file/file-5.25.tar.gz |
|
|
|
tar -xf file-5.25.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f file-5.25/build-done ]; then |
|
|
|
cd file-5.25 |
|
|
|
./configure --enable-static --disable-shared --prefix=$PREFIX |
|
|
|
make |
|
|
|
make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# zlib |
|
|
|
|
|
|
|
if [ ! -d zlib-1.2.10 ]; then |
|
|
@@ -153,29 +125,24 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# mxml |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# file/magic |
|
|
|
|
|
|
|
if [ ! -d mxml-2.11 ]; then |
|
|
|
wget https://github.com/michaelrsweet/mxml/releases/download/v2.11/mxml-2.11.tar.gz |
|
|
|
mkdir mxml-2.11 |
|
|
|
cd mxml-2.11 |
|
|
|
tar -xf ../mxml-2.11.tar.gz |
|
|
|
cd .. |
|
|
|
if [ ! -d file-5.25 ]; then |
|
|
|
curl -O ftp://ftp.astron.com/pub/file/file-5.25.tar.gz |
|
|
|
tar -xf file-5.25.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f mxml-2.11/build-done ]; then |
|
|
|
cd mxml-2.11 |
|
|
|
./configure --disable-shared --prefix=$PREFIX |
|
|
|
make libmxml.a |
|
|
|
cp *.a $PREFIX/lib/ |
|
|
|
cp *.pc $PREFIX/lib/pkgconfig/ |
|
|
|
cp mxml.h $PREFIX/include/ |
|
|
|
if [ ! -f file-5.25/build-done ]; then |
|
|
|
cd file-5.25 |
|
|
|
./configure --enable-static --disable-shared --prefix=$PREFIX |
|
|
|
make |
|
|
|
make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# libogg |
|
|
|
|
|
|
|
if [ ! -d libogg-1.3.2 ]; then |
|
|
@@ -192,7 +159,7 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# libvorbis |
|
|
|
|
|
|
|
if [ ! -d libvorbis-1.3.5 ]; then |
|
|
@@ -209,7 +176,7 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# flac |
|
|
|
|
|
|
|
if [ ! -d flac-1.3.1 ]; then |
|
|
@@ -227,7 +194,7 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# libsndfile |
|
|
|
|
|
|
|
if [ ! -d libsndfile-1.0.26 ]; then |
|
|
@@ -237,7 +204,7 @@ fi |
|
|
|
|
|
|
|
if [ ! -f libsndfile-1.0.26/build-done ]; then |
|
|
|
cd libsndfile-1.0.26 |
|
|
|
sed -i -e "s/#include <Carbon.h>//" programs/sndfile-play.c |
|
|
|
# sed -i -e "s/#include <Carbon.h>//" programs/sndfile-play.c |
|
|
|
./configure --enable-static --disable-shared --disable-sqlite --prefix=$PREFIX |
|
|
|
make |
|
|
|
make install |
|
|
@@ -245,7 +212,7 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# libgig |
|
|
|
|
|
|
|
if [ ! -d libgig-4.0.0 ]; then |
|
|
@@ -266,7 +233,7 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# linuxsampler |
|
|
|
|
|
|
|
if [ ! -d linuxsampler-2.0.0 ]; then |
|
|
@@ -279,52 +246,33 @@ cd linuxsampler-2.0.0 |
|
|
|
if [ ! -f patched ]; then |
|
|
|
patch -p1 -i ../patches/linuxsampler_allow-no-drivers-build.patch |
|
|
|
patch -p1 -i ../patches/linuxsampler_disable-ladspa-fx.patch |
|
|
|
sed -i -e "s/HAVE_AU/HAVE_VST/" src/hostplugins/Makefile.am |
|
|
|
# sed -i -e "s/HAVE_AU/HAVE_VST/" src/hostplugins/Makefile.am |
|
|
|
touch patched |
|
|
|
fi |
|
|
|
rm configure |
|
|
|
make -f Makefile.svn configure |
|
|
|
./configure \ |
|
|
|
--enable-static --disable-shared --prefix=$PREFIX \ |
|
|
|
--disable-alsa-driver \ |
|
|
|
--disable-arts-driver --disable-artstest --disable-instruments-db \ |
|
|
|
--disable-asio-driver --disable-midishare-driver --disable-coremidi-driver --disable-coreaudio-driver --disable-mmemidi-driver |
|
|
|
sed -i -e "s/bison (GNU Bison) //" config.h |
|
|
|
--disable-alsa-driver --disable-arts-driver --disable-jack-driver \ |
|
|
|
--disable-asio-driver --disable-midishare-driver --disable-mmemidi-driver \ |
|
|
|
--disable-coreaudio-driver --disable-coremidi-driver \ |
|
|
|
--disable-instruments-db --disable-sf2-engine |
|
|
|
# sed -i -e "s/bison (GNU Bison) //" config.h |
|
|
|
make -j 8 |
|
|
|
make install |
|
|
|
sed -i -e "s|-llinuxsampler|-llinuxsampler -L$PREFIX/lib/libgig -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -lm -lpthread|" $PREFIX/lib/pkgconfig/linuxsampler.pc |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# fltk |
|
|
|
|
|
|
|
if [ ! -d fltk-1.3.3 ]; then |
|
|
|
curl -O http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz |
|
|
|
tar -xf fltk-1.3.3-source.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f fltk-1.3.3/build-done ]; then |
|
|
|
cd fltk-1.3.3 |
|
|
|
./configure --prefix=$PREFIX \ |
|
|
|
--disable-shared --disable-debug \ |
|
|
|
--disable-threads --disable-gl \ |
|
|
|
--enable-localjpeg --enable-localpng |
|
|
|
make |
|
|
|
make install |
|
|
|
sed -i -e "s|-llinuxsampler|-llinuxsampler -L$PREFIX/lib/libgig -lgig -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -lpthread -lm|" $PREFIX/lib/pkgconfig/linuxsampler.pc |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# glib |
|
|
|
|
|
|
|
if [ ! -d $PREFIX/include/glib-2.0 ]; then |
|
|
|
cp -r /usr/include/glib-2.0 $PREFIX/include/ |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# fluidsynth |
|
|
|
|
|
|
|
if [ ! -d fluidsynth-1.1.6 ]; then |
|
|
@@ -347,33 +295,9 @@ touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# fftw3 (needs to be last as it modifies C[XX]FLAGS) |
|
|
|
|
|
|
|
if [ ! -d fftw-3.3.4 ]; then |
|
|
|
curl -O http://www.fftw.org/fftw-3.3.4.tar.gz |
|
|
|
tar -xf fftw-3.3.4.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f fftw-3.3.4/build-done ]; then |
|
|
|
export CFLAGS="$CFLAGS -O3 -ffast-math" |
|
|
|
export CXXFLAGS="$CXXFLAGS -O3 -ffast-math" |
|
|
|
cd fftw-3.3.4 |
|
|
|
./configure --enable-static --enable-sse2 --disable-shared --disable-debug --prefix=$PREFIX |
|
|
|
make |
|
|
|
make install |
|
|
|
make clean |
|
|
|
./configure --enable-static --enable-sse --enable-sse2 --enable-single --disable-shared --disable-debug --prefix=$PREFIX |
|
|
|
make |
|
|
|
make install |
|
|
|
make clean |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |
|
|
|
# build base libs |
|
|
|
|
|
|
|
export ARCH=32 |
|
|
@@ -382,4 +306,4 @@ build_base |
|
|
|
export ARCH=64 |
|
|
|
build_base |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# --------------------------------------------------------------------------------------------------------------------- |