#/bin/sh
prefix=/usr
libdir_guest=$prefix/lib/gura/guest
make_option=-j3
if [ "$1" == "install" ] ; then
    mkdir -p $libdir_guest
	cp -v -a dylib/* $libdir_guest
    exit
fi
#---------------------------------------------------------------------------
files=""
files="$files SDL-1.2.15.tar.gz"
files="$files SDL2-2.0.4.tar.gz"
files="$files cairo-1.12.18.tar.xz"
files="$files expat-2.1.0.tar.gz"
files="$files freetype-2.5.3.tar.bz2"
files="$files fontconfig-2.11.1.tar.bz2"
files="$files gmp-6.0.0a.tar.bz2"
files="$files jpegsrc.v9a.tar.gz"
files="$files libpng-1.6.12.tar.gz"
files="$files onig-5.9.5.tar.gz"
files="$files pixman-0.32.6.tar.gz"
files="$files tiff-3.8.2.tar.gz"
files="$files wxWidgets-3.1.0.tar.bz2"
files="$files yaml-0.1.5.tar.gz"
files="$files llvm-3.6.1.src.tar.xz"
files="$files liblinear-2.11.zip"
files="$files liblinear-2.11-gurapatch.zip"
files="$files libsvm-3.22.zip"
files="$files libsvm-3.22-gurapatch.zip"
files="$files fftw-3.3.6-pl2.tar.gz"
for file in $files
do
	echo $file
	curl -O http://www.gura-lang.org/guest/$file
done
failed=""
#---------------------------------------------------------------------------
function setup_dylib() {
	local srcdir=$1
	local dstdir=$2
	for file in $srcdir/*.dylib
	do
		if [ ! -h $file ] ; then
			install_name_tool -id "@executable_path/../lib/gura/guest/`basename $file`" $file
		fi
		cp -a $file $dstdir
	done
}
#---------------------------------------------------------------------------
#tar xfz SDL-1.2.15.tar.gz
#pushd SDL-1.2.15
#./configure --disable-video-x11
#popd
#---------------------------------------------------------------------------
tar xfz SDL2-2.0.4.tar.gz
pushd SDL2-2.0.4
./configure
make $make_option || failed="$failed SDL2"
popd
rm -f include/SDL2
ln -sf ../SDL2-2.0.4/include/ include/SDL2
setup_dylib SDL2-2.0.4/build/.libs dylib
#---------------------------------------------------------------------------
tar xfz expat-2.1.0.tar.gz
pushd expat-2.1.0
./configure
make $make_option || failed="$failed expat"
popd
rm -f include/expat
ln -sf ../expat-2.1.0/lib/ include/expat
ln -sf ../expat-2.1.0/.libs/libexpat.a lib/libexpat.a
#---------------------------------------------------------------------------
tar xfy freetype-2.5.3.tar.bz2
pushd freetype-2.5.3
./configure
make $make_option || failed="$failed freetype"
popd
rm -f include/freetype
ln -sf ../freetype-2.5.3/include/ include/freetype
ln -sf ../freetype-2.5.3/objs/.libs/libfreetype.a lib/libfreetype.a
#---------------------------------------------------------------------------
# depends on: expat, freetype
tar xfy fontconfig-2.11.1.tar.bz2
pushd fontconfig-2.11.1
./configure PKG_CONFIG=../pkg-config-fake FREETYPE_CFLAGS=-I../../include/freetype FREETYPE_LIBS="-L../../lib -lfreetype -lz -lbz2" EXPAT_CFLAGS=-I../../include/expat EXPAT_LIBS="-L../../lib -lexpat"
make $make_option || failed="$failed fontconfig"
popd
rm -f include/fontconfig
ln -sf ../fontconfig-2.11.1/ include/fontconfig
setup_dylib fontconfig-2.11.1/src/.libs dylib
#---------------------------------------------------------------------------
tar xfy gmp-6.0.0a.tar.bz2
pushd gmp-6.0.0
./configure
make $make_option || failed="$failed gmp"
popd
rm -f include/gmp
ln -sf ../gmp-6.0.0/ include/gmp
setup_dylib gmp-6.0.0/.libs dylib
#---------------------------------------------------------------------------
tar xfz jpegsrc.v9a.tar.gz
pushd jpeg-9a
./configure
make $make_option || failed="$failed jpegsrc"
popd
rm -f include/jpeg
ln -sf ../jpeg-9a/ include/jpeg
ln -sf ../jpeg-9a/.libs/libjpeg.a lib/libjpeg.a
#---------------------------------------------------------------------------
tar xfz libpng-1.6.12.tar.gz
pushd libpng-1.6.12
./configure
make $make_option || failed="$failed libpng"
popd
rm -f include/png
ln -sf ../libpng-1.6.12/ include/png
ln -sf ../libpng-1.6.12/.libs/libpng16.a lib/libpng16.a
#---------------------------------------------------------------------------
#tar xfz libspectre-0.2.7.tar.gz
#pushd libspectre-0.2.7
#./configure 
#make $make_option || failed="$failed libspectre"
#popd
#---------------------------------------------------------------------------
tar xfz onig-5.9.5.tar.gz
pushd onig-5.9.5
./configure
make $make_option || failed="$failed onig"
popd
rm -f include/onig
ln -sf ../onig-5.9.5/ include/onig
ln -sf ../onig-5.9.5/.libs/libonig.a lib/libonig.a
#---------------------------------------------------------------------------
tar xfz pixman-0.32.6.tar.gz
pushd pixman-0.32.6
./configure
make $make_option || failed="$failed pixman"
popd
rm -f include/pixman
ln -sf ../pixman-0.32.6/pixman/ include/pixman
ln -sf ../pixman-0.32.6/pixman/.libs/libpixman-1.a lib/libpixman-1.a
#---------------------------------------------------------------------------
tar xfz tiff-3.8.2.tar.gz
pushd tiff-3.8.2
./configure
make $make_option || failed="$failed tiff"
popd
rm -f include/tiff
ln -sf ../tiff-3.8.2/libtiff/ include/tiff
ln -sf ../tiff-3.8.2/libtiff/.libs/libtiff.a lib/libtiff.a
#---------------------------------------------------------------------------
tar xfy wxWidgets-3.1.0.tar.bz2
pushd wxWidgets-3.1.0
./configure --with-macosx-version-min=10.9 --disable-shared
make $make_option || failed="$failed wxWidgets"
popd
rm -f include/wx
rm -f lib/wx
ln -sf ../wxWidgets-3.1.0/include/ include/wx
ln -sf ../wxWidgets-3.1.0/lib/ lib/wx
#---------------------------------------------------------------------------
tar xfz yaml-0.1.5.tar.gz
pushd yaml-0.1.5
./configure
make $make_option || failed="$failed yaml"
popd
rm -f include/yaml
ln -sf ../yaml-0.1.5/include/ include/yaml
ln -sf ../yaml-0.1.5/src/.libs/libyaml.a lib/libyaml.a
#---------------------------------------------------------------------------
# depends on: fontconfig, freetype, pixman, png
tar xfJ cairo-1.12.18.tar.xz
pushd cairo-1.12.18
./configure pixman_CFLAGS=-I`pwd`/../include/pixman pixman_LIBS="-L`pwd`/../lib -lpixman-1" PKG_CONFIG=../pkg-config-fake png_CFLAGS=-I`pwd`/../include/png png_LIBS="-L`pwd`/../lib -lpng16" FONTCONFIG_CFLAGS=-I`pwd`/../include/fontconfig FONTCONFIG_LDFLAGS="-L`pwd`/../dylib -lfontconfig" FREETYPE_CFLAGS=-I`pwd`/../include/freetype FREETYPE_LIBS="-L`pwd`/../lib -lfreetype -lbz2" --disable-xlib --disable-xcb --disable-gobject --disable-fc --disable-ps
make $make_option || failed="$failed cairo"
popd
rm -f include/cairo
ln -sf ../cairo-1.12.18/src/ include/cairo
setup_dylib cairo-1.12.18/src/.libs dylib
#---------------------------------------------------------------------------
tar xfJ llvm-3.6.1.src.tar.xz
pushd llvm-3.6.1.src
mkdir build
cd build
cmake ..
make $make_option || failed="$failed llvm"
popd
#---------------------------------------------------------------------------
unzip -o liblinear-2.11.zip
unzip -o liblinear-2.11-gurapatch.zip
pushd liblinear-2.11
make lib
popd
rm -f include/liblinear
ln -sf ../liblinear-2.11 include/liblinear
setup_dylib liblinear-2.11 dylib
#---------------------------------------------------------------------------
unzip -o libsvm-3.22.zip
unzip -o libsvm-3.22-gurapatch.zip
pushd libsvm-3.22
make lib
popd
rm -f include/libsvm
ln -sf ../libsvm-3.22 include/libsvm
setup_dylib libsvm-3.22 dylib
#---------------------------------------------------------------------------
tar xfz fftw-3.3.6-pl2.tar.gz
pushd fftw-3.3.6-pl2
./configure
make
popd
rm -f include/fftw
ln -sf ../fftw-3.3.6-pl2/api include/fftw
ln -sf ../fftw-3.3.6-pl2/.libs/libfftw3.a lib/libfftw3.a
#---------------------------------------------------------------------------
if [ "$failed" != "" ] ; then
   echo ======================================================================
   echo Error occured:$failed
   echo ======================================================================
fi
