#!/bin/bash

set -e

# script/bootstrap

# export this path right here (was in script/spec before)
export SASS_SASSC_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../ && pwd )"

# use some defaults if not running under travis ci
if [ "x$TRAVIS_BUILD_DIR" == "x" ]; then export TRAVIS_BUILD_DIR=$(pwd)/build; fi
if [ "x$SASS_LIBSASS_PATH" == "x" ]; then export SASS_LIBSASS_PATH=$(pwd)/..; fi
if [ "x$SASS_SPEC_PATH" == "x" ]; then export SASS_SPEC_PATH=$(pwd)/sass-spec; fi

if [ "x$COVERAGE" == "xyes" ]; then
  COVERAGE_OPT="--enable-coverage"
  export EXTRA_CFLAGS="--coverage"
  export EXTRA_CXXFLAGS="--coverage"
  export EXTRA_LDFLAGS="--coverage"
else
  COVERAGE_OPT="--disable-coverage"
fi

if [ "x$BUILD" == "xstatic" ]; then
  SHARED_OPT="--disable-shared --enable-static"
  MAKE_TARGET="static"
else
  # Makefile of sassc wants to link to static
  SHARED_OPT="--enable-shared --enable-static"
  MAKE_TARGET="shared"
fi

if [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then
  MAKE_OPTS="$MAKE_OPTS -j1 V=1"
else
  MAKE_OPTS="$MAKE_OPTS -j5 V=1"
fi

if [ "x$PREFIX" == "x" ]; then
  if [ "x$TRAVIS_BUILD_DIR" == "x" ]; then
    PREFIX=$SASS_LIBSASS_PATH/build
  else
    PREFIX=$TRAVIS_BUILD_DIR
  fi
fi

if [ "x$AUTOTOOLS" == "xyes" ]; then

  pushd $SASS_LIBSASS_PATH

  echo -en 'travis_fold:start:libsass\r'
  autoreconf --force --install
  ./configure --disable-tests $COVERAGE_OPT \
    --disable-silent-rules \
    --prefix=$PREFIX \
    ${SHARED_OPT}

  # always rebuild
  make $MAKE_OPTS clean

  # install the library
  make $MAKE_OPTS install

  echo -en 'travis_fold:end:libsass\r'
  popd

  echo -en 'travis_fold:start:configure\r'
  autoreconf --force --install
  ./configure \
    --with-libsass="$PREFIX" \
    --disable-silent-rules \
    --prefix=$PREFIX \
    $COVERAGE_OPT \
    ${SHARED_OPT}
  echo -en 'travis_fold:end:configure\r'

fi

# always rebuild
make $MAKE_OPTS clean
# does what $BUILD says
make $MAKE_OPTS all
make $MAKE_OPTS install

echo successfully compiled sassc
echo AUTOTOOLS=$AUTOTOOLS COVERAGE=$COVERAGE BUILD=$BUILD

LD_LIBRARY_PATH="$PREFIX/lib" $PREFIX/bin/sassc -v
