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