#!/bin/sh
if [ -n "${TRAVIS_BUILD_DIR}" ]; then
set -e
fi
# use some defaults if not running under travis ci
: ${SASS_LIBSASS_PATH:?SASS_LIBSASS_PATH should point to libsass sources}
: ${BUILD:?Please configure BUILD as either "shared" or "static"}
: ${AUTOTOOLS:?Need to know wheter to use AUTOTOOLS - set it to "yes" or "no"}
. ./script/bootstrap
: ${PREFIX:=${TRAVIS_BUILD_DIR-$(pwd)}/build}
SASS_SASSC_PATH="${PREFIX}"
export SASS_SASSC_PATH
export SASS_LIBSASS_PATH
export EXTRA_CFLAGS
export EXTRA_CXXFLAGS
export EXTRA_LDFLAGS
travis_fold() {
if [ -n "${TRAVIS_BUILD_DIR}" ]; then
printf "travis_fold:$1:$2\r"
fi
}
if [ "${COVERAGE}" = "yes" ]; then
COVERAGE_OPT="--enable-coverage"
EXTRA_CFLAGS="--coverage"
EXTRA_CXXFLAGS="--coverage"
EXTRA_LDFLAGS="--coverage"
else
COVERAGE_OPT="--disable-coverage"
fi
uname_s="$(uname -s)"
if [ "${uname_s%%-.*}" = "MINGW32_NT" ]; then
MAKE_OPTS="$MAKE_OPTS -j1 V=1"
else
MAKE_OPTS="$MAKE_OPTS -j5 V=1"
fi
SINGLE_MAKE_OPS="$MAKE_OPTS -j1 V1"
if [ "${AUTOTOOLS}" = "yes" ]; then
if [ "${BUILD}" = "static" ]; then
SHARED_OPT="--disable-shared --enable-static"
else
# Makefile of sassc wants to link to static
SHARED_OPT="--enable-shared --enable-static"
fi
travis_fold start libsass
(cd ${SASS_LIBSASS_PATH} &&
autoreconf --force --install &&
./configure --disable-tests $COVERAGE_OPT \
--disable-silent-rules \
--prefix=${PREFIX} \
${SHARED_OPT} &&
${MAKE:=make} $MAKE_OPTS clean &&
${MAKE} $MAKE_OPTS all &&
${MAKE} install ) || exit 2
travis_fold end libsass
travis_fold start configure
autoreconf --force --install &&
./configure \
--with-libsass="${PREFIX}" \
--disable-silent-rules \
--prefix=$PREFIX \
$COVERAGE_OPT \
${SHARED_OPT} || exit 3
travis_fold end configure
fi
# Don't try "all" and "install" in parallel
${MAKE:=make} $MAKE_OPTS clean &&
${MAKE} $SINGLE_MAKE_OPTS BUILD=${BUILD} PREFIX=${PREFIX} all install &&
echo successfully compiled sassc &&
echo AUTOTOOLS=$AUTOTOOLS COVERAGE=$COVERAGE BUILD=$BUILD &&
/usr/bin/env LD_LIBRARY_PATH="${SASS_LIBSASS_PATH}/lib" $PREFIX/bin/sassc -v
if [ -n "${TRAVIS_BUILD_DIR}" ]; then
set +e
fi