#!/usr/bin/env bash
set -e
# Sista Spur VM with VM profiler and threaded heartbeat
INSTALLDIR=sqsisspur64linuxht
OPT="-g -O1 -DNDEBUG -DDEBUGVM=0"

CFLAGS="$OPT -msse2 -DCOGMTVM=0"
LIBS=""
LDFLAGS=""
case $(uname -s) in
  OpenBSD)
           CFLAGS="$CFLAGS -I/usr/local/include"
           LIBS="$LIBS -lexecinfo"
           LDFLAGS="$LDFLAGS -L/usr/local/lib"
           ;;
esac

# Prefer clang over gcc, but use gcc if clang isn't available...
CC=gcc
if [ -x /usr/bin/clang ]; then CC=clang; fi

if [ $# -ge 1 ]; then
	INSTALLDIR="$1"; shift
fi
if ../../../../scripts/checkSCCSversion ; then exit 1; fi
echo -n "clean? "
read a
case $a in
n|no|N|NO)	echo "ok but this isn't safe!!";;
*)			test -f Makefile && make reallyclean
esac
../../../../scripts/copylinuxpluginspecfiles
test -f config.h || ../../../../platforms/unix/config/configure \
		--with-vmversion=5.0 \
		--with-src=src/spur64.sista \
		--with-scriptname=spur64 \
	TARGET_ARCH="-m64" \
	CC=$CC \
	CFLAGS="$CFLAGS" \
	LIBS="$LIBS" \
	LDFLAGS="$LDFLAGS"
rm -f vm/sqUnixMain.o # nuke version info
rm -rf ../../../../products/$INSTALLDIR
# prefer make install prefix=`readlink -f \`pwd\`/../../../../products/$INSTALLDIR`
# but older linux readlinks lack the -f flag
make install-squeak install-plugins prefix=`(cd ../../../../;pwd)`/products/$INSTALLDIR 2>&1 | tee LOG ; test ${PIPESTATUS[0]} -eq 0
