#!/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