X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=win32%2Ftools%2Fmakedeps.sh;fp=win32%2Ftools%2Fmakedeps.sh;h=378272ca1dfe07b1bdb5de63d28f9d6325c8a35d;hp=0000000000000000000000000000000000000000;hb=321f005b45580b8c2c14ddc577fb6ca7780a68c5;hpb=90b2c7fb10b244b781b84965a0d36f1f323ee94d diff --git a/win32/tools/makedeps.sh b/win32/tools/makedeps.sh new file mode 100755 index 0000000..378272c --- /dev/null +++ b/win32/tools/makedeps.sh @@ -0,0 +1,254 @@ +#!/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 <