#!/bin/bash
set -e
set -u
TOPDIR=${PWD}
WIISUPPORT=${PWD}/wiisupport

mkdir -p ${WIISUPPORT}

export DEVKITPRO=${WIISUPPORT}/devkitpro
export DEVKITPPC=${DEVKITPRO}/devkitPPC
export PORTLIBS=${DEVKITPRO}/portlibs/ppc

mkdir -p ${PORTLIBS}

if ! test -e ${DEVKITPPC} ; then
    mkdir -p ${DEVKITPRO}
    cd ${DEVKITPRO}
    wget http://sunet.dl.sourceforge.net/sourceforge/devkitpro/devkitPPC_r21-i686-linux.tar.bz2
    tar xvf devkitPPC_r21-i686-linux.tar.bz2
fi

### Get and compile libogc


if ! test -e ${DEVKITPRO}/libogc/lib/wii ; then
    mkdir -p ${DEVKITPRO}/libogc
    cd ${DEVKITPRO}/libogc
    wget http://downloads.sourceforge.net/project/devkitpro/libogc/libogc-src-1.8.3.tar.bz2
    tar xvf libogc-src-1.8.3.tar.bz2

    cp ${TOPDIR}/support/lwp_config.h ${DEVKITPRO}/libogc/gc/ogc/lwp_config.h
    make wii install-headers

    # And libfat
    cd ${DEVKITPRO}/libogc
    wget http://sunet.dl.sourceforge.net/sourceforge/devkitpro/libfat-ogc-1.0.5.tar.bz2
    tar xvf libfat-ogc-1.0.5.tar.bz2
fi

### Get and compile zlib


if ! test -e ${PORTLIBS}/include/zlib.h ; then
    cd ${PORTLIBS}
    wget http://downloads.sourceforge.net/project/devkitpro/portlibs/zlib-1.2.4-ppc.tar.bz2
    tar xvf zlib-1.2.4-ppc.tar.bz2
fi


### Get freetype

if ! test -e ${WIISUPPORT}/freetype-ppc ; then
    cd ${WIISUPPORT}
    wget http://mirrors.zerg.biz/nongnu/freetype/freetype-2.3.9.tar.bz2
    tar xvf freetype-2.3.9.tar.bz2
    cd ${WIISUPPORT}/freetype-2.3.9
    OBJDUMP="${DEVKITPRO}/devkitPPC/bin/powerpc-eabi-objdump" \
	LD="${DEVKITPRO}/devkitPPC/bin/powerpc-eabi-ld" \
	STRIP="${DEVKITPRO}/devkitPPC/bin/powerpc-eabi-strip" \
	RANLIB="${DEVKITPRO}/devkitPPC/bin/powerpc-eabi-ranlib" \
	AR="${DEVKITPRO}/devkitPPC/bin/powerpc-eabi-ar" \
	CFLAGS="-mcpu=750 -O2" \
	CC="${DEVKITPRO}/devkitPPC/bin/powerpc-eabi-gcc" \
	./configure --host=ppc --prefix=${WIISUPPORT}/freetype-ppc \
	--disable-static 

    make && make install
fi

