language: cpp compiler: - clang # - gcc addons: postgresql: "9.3" before_install: - nproc - free # we need at least g++-4.7 for c++11 features - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test # grab more recent gdal/proj # breaks due to http://trac.osgeo.org/ubuntugis/ticket/39 #- sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable # more recent boost - sudo add-apt-repository -y ppa:boost-latest/ppa - sudo apt-get update -y - sudo apt-get install -y libstdc++6 libstdc++-4.8-dev make boost1.55 libgdal-dev libgdal1-dev libgdal1h=1.10.0-1~precise1 python-nose libicu-dev libpng-dev libjpeg-dev libtiff-dev libwebp-dev libz-dev libfreetype6-dev libxml2-dev libproj-dev libcairo-dev python-cairo-dev libsqlite3-dev - sudo apt-get install -y binutils-gold - wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add - - sudo apt-get install clang-3.4 - export PATH=/usr/bin:${PATH} - echo `which clang` - echo `which clang++` - sudo ln -s /usr/lib/llvm-3.4/lib/LLVMgold.so /usr/lib/LLVMgold.so - sudo ln -s /usr/lib/llvm-3.4/lib/libLTO.so /usr/lib/libLTO.so - if [[ "${CXX}" == 'g++' ]]; then sudo apt-get install gcc-4.8 g++-4.8; export CXX="$(which g++-4.8)"; export CC="$(which gcc-4.8)"; fi; - if [[ "${CXX}" == 'clang++' ]]; then export CXX="$(which clang++)"; export CC="$(which clang)"; fi; - wget http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.34.tar.bz2 - tar xf harfbuzz-0.9.34.tar.bz2 - cd harfbuzz-0.9.34 - ./configure --prefix=/usr --with-icu --with-cairo=no --with-glib=no --with-gobject=no --with-graphite2=no --with-freetype --with-uniscribe=no --with-coretext=no && make && sudo make install - cd ../ install: - export RANLIB=/bin/true - ./configure CXX="${CXX}" CC="${CC}" CUSTOM_CXXFLAGS="-flto" CUSTOM_LDFLAGS="-flto" DEMO=True BENCHMARK=True CPP_TESTS=True CAIRO=True FAST=True || cat config.log # workaround ar bug: https://sourceware.org/bugzilla/show_bug.cgi?id=13256 - echo 'ar "$@" --plugin /usr/lib/LLVMgold.so' > ar-lto && chmod +x ./ar-lto && export AR=$(pwd)/ar-lto - if [[ "${CXX}" == 'g++-4.8' ]]; then JOBS=2 make; else JOBS=6 make; fi; before_script: - make test script: - make bench notifications: irc: channels: - "irc.freenode.org#mapnik" use_notice: true