#!/bin/bash # Download and cross-compile dependencies for Yoink. This script requires # bash, wget, unzip, tar, rsync, patch, make, install and sudo. Have fun! HOST="i686-mingw32" PREFIX="/usr/$HOST/usr" MAKEOPTS="-j8" ##### function die() { echo "die:" $@ exit 1 } function sync() { # install the files from $DESTDIR to $PREFIX echo "Installing to $PREFIX..." sudo rsync -av $DESTDIR/$PREFIX/* $PREFIX/ || die "syncing dependencies" } DESTDIR="`pwd`/deps" mkdir -p $DESTDIR rm -f $DESTDIR/README PACKAGE="zlib123-dll" cd $DESTDIR [[ ! -f $PACKAGE.zip ]] && (wget "http://www.zlib.net/$PACKAGE.zip" || die "downloading $PACKAGE") rm -rf $PACKAGE unzip -d $PACKAGE $PACKAGE.zip || die "unpackaging $PACKAGE" cd $PACKAGE ($HOST-dlltool -d lib/zlib.def -l libzdll.a && \ mkdir -p $DESTDIR/$PREFIX/{lib,include} && \ install -p -m 0644 include/* $DESTDIR/$PREFIX/include/ && \ install -p -m 0755 zlib1.dll $DESTDIR/$PREFIX/bin/ && \ install -p -m 0755 libzdll.a $DESTDIR/$PREFIX/lib/ && \ cd $DESTDIR/$PREFIX/lib && \ ln -fs libzdll.a libz.dll.a) || die "installing $PACKAGE" PACKAGE="libogg-1.1.4" cd $DESTDIR [[ ! -f $PACKAGE.tar.gz ]] && (wget "http://downloads.xiph.org/releases/ogg/$PACKAGE.tar.gz" || die "downloading $PACKAGE") rm -rf $PACKAGE tar xzf $PACKAGE.tar.gz || die "unpackaging $PACKAGE" cd $PACKAGE ./configure --host=$HOST --prefix=$PREFIX || die "configuring $PACKAGE" make $MAKEOPTS || die "making $PACKAGE" make DESTDIR=$DESTDIR install || die "installing $PACKAGE" # install dependencies thus built thus far sync PACKAGE="boost_1_42_0" VERSION="1.42.0" cd $DESTDIR [[ ! -f $PACKAGE.tar.bz2 ]] && (wget "http://sourceforge.net/projects/boost/files/boost/$VERSION/$PACKAGE.tar.bz2/download" || die "downloading $PACKAGE") rm -rf $PACKAGE tar xjf $PACKAGE.tar.bz2 || die "unpackaging $PACKAGE" (mkdir -p $DESTDIR/$PREFIX/include && \ rm -rf $DESTDIR/$PREFIX/include/boost && \ cp -r $PACKAGE/boost $DESTDIR/$PREFIX/include/boost) || die "installing $PACKAGE" PACKAGE="SDL-1.2.14" cd $DESTDIR [[ ! -f $PACKAGE.tar.gz ]] && (wget "http://www.libsdl.org/release/$PACKAGE.tar.gz" || die "downloading $PACKAGE") rm -rf $PACKAGE tar xzf $PACKAGE.tar.gz || die "unpackaging $PACKAGE" cd $PACKAGE ./configure --host=$HOST --prefix=$PREFIX --disable-stdio-redirect || die "configuring $PACKAGE" make $MAKEOPTS || die "making $PACKAGE" make DESTDIR=$DESTDIR install || die "installing $PACKAGE" PACKAGE="libvorbis-1.2.3" cd $DESTDIR [[ ! -f $PACKAGE.tar.gz ]] && (wget "http://downloads.xiph.org/releases/vorbis/$PACKAGE.tar.gz" || die "downloading $PACKAGE") rm -rf $PACKAGE tar xzf $PACKAGE.tar.gz || die "unpackaging $PACKAGE" cd $PACKAGE ./configure --host=$HOST --prefix=$PREFIX || die "configuring $PACKAGE" make $MAKEOPTS || die "making $PACKAGE" make DESTDIR=$DESTDIR install || die "installing $PACKAGE" PACKAGE="openal-soft-1.11.753-bin" cd $DESTDIR [[ ! -f $PACKAGE.zip ]] && (wget "http://kcat.strangesoft.net/$PACKAGE.zip" || die "downloading $PACKAGE") rm -rf $PACKAGE unzip $PACKAGE.zip || die "unpackaging $PACKAGE" cd $PACKAGE (mkdir -p $DESTDIR/$PREFIX/{lib/pkgconfig,include/AL} && \ install -p -m 0644 include/AL/* $DESTDIR/$PREFIX/include/AL/ && \ install -p -m 0755 Win32/soft_oal.dll $DESTDIR/$PREFIX/bin/OpenAL32.dll && \ install -p -m 0755 openal-info.exe $DESTDIR/$PREFIX/bin/ && \ install -p -m 0755 lib/Win32/libOpenAL32.dll.a $DESTDIR/$PREFIX/lib/ && \ cat >$DESTDIR/$PREFIX/lib/pkgconfig/openal.pc <$DESTDIR/$PREFIX/lib/pkgconfig/gl.pc <$DESTDIR/$PREFIX/lib/pkgconfig/glu.pc <README <