#!/usr/bin/env bash

if [ -z "$SAGE_LOCAL" ]; then
    echo >&2 "SAGE_LOCAL undefined ... exiting"
    echo >&2 "Maybe run 'sage -sh'?"
    exit 1
fi

cd src

# Apply patches.
for patch in ../patches/*.patch; do
    [ -r "$patch" ] || continue # Skip non-existing or non-readable patches
    patch -p1 < "$patch"
    if [ $? -ne 0 ]; then
        echo >&2 "Error applying '$patch'"
        exit 1
    fi
done

if [ "$SAGE_DEBUG" = "yes" ]; then
    echo "Building a debug version of BoehmGC."
    export CFLAGS="-O0 -g $CFLAGS"
else
    export CFLAGS="-O2 -g $CFLAGS"
fi

if [ "$SAGE64" = "yes" ]; then
    echo "Building a 64-bit version of BoehmGC."
    export CFLAGS="-m64 $CFLAGS"
fi

./configure --prefix="$SAGE_LOCAL" --libdir="$SAGE_LOCAL/lib" --enable-large-config

if [ $? -ne 0 ]; then
   echo >&2 "Error configuring BoehmGC."
   exit 1
fi

$MAKE

if [ $? -ne 0 ]; then
   echo >&2 "Error building BoehmGC."
   exit 1
fi

$MAKE install

if [ $? -ne 0 ]; then
   echo >&2 "Error installing BoehmGC."
   exit 1
fi
