blob: 29ed6996a7b80de59c857c3fd9260abcfcaa9ea4 [file] [log] [blame]
#!/bin/bash
set -e
if [ -z ${LOCAL_PKG+x} ] || [ -z "$LOCAL_PKG" ]; then
echo "LOCAL_PKG is not set. Aborting..."
exit 1
fi
if ! [ -z ${CLANG_FORMAT+x} ]; then
echo "CLANG_FORMAT does not need any dependencies. Done."
exit 0
fi
if [ -z ${DOCKER+x} ] && [ -z ${SONAR+x} ]; then
# Only on non-docker builds required
echo "=== Installing from external package sources in $LOCAL_PKG ===" && echo -en 'travis_fold:start:before_install.external\\r'
# Increase the environment version to force a rebuild of the packages
# The version is writen to the cache file after every build of the dependencies
ENV_VERSION="1"
ENV_INSTALLED=""
if [ -e $LOCAL_PKG/.build_env ]; then
echo "=== No cached build environment ==="
read -r ENV_INSTALLED < $LOCAL_PKG/.build_env
fi
# travis caches the $LOCAL_PKG dir. If it is loaded, we don't need to reinstall the packages
if [ "$ENV_VERSION" = "$ENV_INSTALLED" ]; then
echo "=== The build environment is current ==="
exit 0
fi
echo "=== The build environment is outdated ==="
# Clean up
# additional safety measure to avoid rm -rf on root
# only execute it on travis
if ! [ -z ${TRAVIS+x} ]; then
echo "rm -rf $LOCAL_PKG/*"
fi
if [ "$CC" = "tcc" ]; then
mkdir tcc_install && cd tcc_install
wget https://mirror.netcologne.de/savannah/tinycc/tcc-0.9.27.tar.bz2
tar xf tcc-0.9.27.tar.bz2
cd tcc-0.9.27
./configure --prefix=$LOCAL_PKG
make
make install
cd ../..
rm -rf tcc_install
fi
wget https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.7.1.tar.gz
tar xf mbedtls-2.7.1.tar.gz
cd mbedtls-mbedtls-2.7.1
cmake -DENABLE_TESTING=Off -DCMAKE_INSTALL_PREFIX=$LOCAL_PKG .
make -j
make install
echo -en 'travis_fold:end:script.before_install.external\\r'
echo "=== Installing python packages ===" && echo -en 'travis_fold:start:before_install.python\\r'
pip install --user cpp-coveralls
# Pin docutils to version smaller 0.15. Otherwise we run into https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839299
pip install --user 'docutils<=0.14'
pip install --user sphinx_rtd_theme
pip install --user cpplint
echo -en 'travis_fold:end:script.before_install.python\\r'
fi