#!/bin/sh

# build debug/release x86/x64 versions of mapster32 and eduke32 on OSX

if [ `uname -s` != Darwin ]; then
    echo This script is for OSX only.
    exit 1
fi

onlyzip=0

if [ $1 ]; then
    if [ $1 == onlyzip ]; then
        onlyzip=1
    else
        echo usage: osxbuild [onlyzip]
        exit 1
    fi
fi

if [ $onlyzip -eq 0 ]; then
    make veryclean
    WITHOUT_GTK=1 RELEASE=0 BUILD32_ON_64=0 make -j 3
    if [ $? ]; then
        echo 64-bit debug build succeeded.
        cp mapster32 mapster32.debug.x64
        cp eduke32 eduke32.debug.x64
    else
        echo 64-bit debug build failed.
    fi

    make veryclean
    WITHOUT_GTK=1 RELEASE=1 BUILD32_ON_64=0 make -j 3
    if [ $? ]; then
        echo 64-bit release build succeeded.
        cp mapster32 mapster32.x64
        cp eduke32 eduke32.x64
    else
        echo 64-bit release build failed.
    fi

    make veryclean
    WITHOUT_GTK=1 RELEASE=0 BUILD32_ON_64=1 make -j 3
    if [ $? ]; then
        echo 32-bit debug build succeeded.
        cp mapster32 mapster32.debug.x86
        cp eduke32 eduke32.debug.x86
    else
        echo 32-bit debug build failed.
    fi

    make veryclean
    WITHOUT_GTK=1 RELEASE=1 BUILD32_ON_64=1 make -j 3
    if [ $? ]; then
        echo 32-bit release build succeeded.
        cp mapster32 mapster32.x86
        cp eduke32 eduke32.x86
    else
        echo 32-bit release build failed.
    fi
fi

# Almost done...
if [ -f mapster32.debug.x64 ] && [ -f mapster32.x64 ] && [ -f eduke32.debug.x86 ] && [ -f eduke32.x86 ]; then
    echo Creating fat binaries.
    lipo -create mapster32.x64 mapster32.x86 -output mapster32
    lipo -create mapster32.debug.x64 mapster32.debug.x86 -output mapster32.debug
    lipo -create eduke32.x64 eduke32.x86 -output eduke32
    lipo -create eduke32.debug.x64 eduke32.debug.x86 -output eduke32.debug
    rev=`svn info | grep Revision | awk '{ print $2 }'`
    arfilename="eduke32-osx-$rev.zip"
    echo "This archive was produced from revision $rev by the osxbuild.sh script." > README.OSX
    rm -f "$arfilename"
    zip "$arfilename" mapster32 eduke32 README.OSX
fi
