#! /bin/sh

# Copyright (c) 1994-2013 by Marc Feeley, All Rights Reserved.

herefromroot="prebuilt/windows"
rootfromhere="../.."

#if [ "`id -un`" != "Administrator" ] ; then
#  echo "You must execute this script as Administrator!"
#  exit 1
#fi

export INSTALL_PREFIX="/c/Gambit-C/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././."
export DOS_INSTALL_PREFIX="`echo \"$INSTALL_PREFIX\" | sed -e \"s|^/c|C:|g\"`"

cd "`dirname $0`"

PATHMINGW32="/c/mingw32/bin:$PATH"
PATHMINGW64="/c/mingw64/bin:$PATH"
PATHVC="$PATH"

for VARIANT in mingw32 mingw64 visualc32 visualc64; do

  cd "$rootfromhere"

  case "$VARIANT" in
    mingw32) CONFIG_CC="gcc -m32 -static-libgcc"
             RUN_TESTS=0
             VCARCH=""
             export PATH="$PATHMINGW32"
             ;;
    mingw64) CONFIG_CC="gcc -m64 -static-libgcc"
             RUN_TESTS=0
             VCARCH=""
             export PATH="$PATHMINGW64"
             ;;
  visualc32) CONFIG_CC="cl.exe"
             RUN_TESTS=0
             VCARCH="x86"
             export PATH="$PATHVC"
             ;;
  visualc64) CONFIG_CC="cl.exe"
             RUN_TESTS=0
             VCARCH="x86_amd64"
             export PATH="$PATHVC"
             ;;
  esac

  cmd /c "C:\PROGRA~2\MICROS~1.0\VC\VCVARS~1.BAT $VCARCH && c:/msys/bin/sh -c \"./configure --prefix=\\\"$DOS_INSTALL_PREFIX\\\" --enable-multiple-versions --enable-symlinks --enable-single-host CC=\\\"$CONFIG_CC\\\"\""

  cd "$herefromroot"

  chmod +x build-phase2

  cmd /c "C:\PROGRA~2\MICROS~1.0\VC\VCVARS~1.BAT $VCARCH && c:/msys/bin/sh -c \"./build-phase2 \\\"$VARIANT\\\" \\\"$RUN_TESTS\\\"\"" > build-phase2.out

  cat build-phase2.out

  SUCCESS=0

  if fgrep "************ TESTS SUCCESSFUL" build-phase2.out > /dev/null; then
    SUCCESS=1
  else
    if fgrep "************ TESTS SKIPPED" build-phase2.out > /dev/null; then
      SUCCESS=1
    fi
  fi

  rm -f build-phase2.out

  if [ "$SUCCESS" == "1" ] ; then
    echo "************ BUILD SUCCESSFUL ($VARIANT variant)"
  else
    echo "************ BUILD FAILED ($VARIANT variant)"
    exit 1
  fi

done

echo "************ windows BUILD SUCCESSFUL"
