From: Marek VavruĊĦa Date: Wed, 28 Jan 2015 16:31:08 +0000 (+0100) Subject: travis: setup build env X-Git-Tag: v1.0.0-beta1~356 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=76757db9733b504be29db800a4db89cab41eb063;p=thirdparty%2Fknot-resolver.git travis: setup build env --- diff --git a/.travis.yml b/.travis.yml index a495d32f9..db93cd40b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,33 +1,18 @@ language: c compiler: - gcc +env: + global: + - PKG_CONFIG_PATH="${HOME}/fakeroot/lib/pkgconfig" + - LDFLAGS="-L${HOME}/fakeroot/lib" before_script: - - sudo apt-get update -q -y - - sudo apt-get install -q -y - git-core - pkg-config - flex - bison - libssl-dev - liburcu-dev - liblmdb-dev - libcmocka-dev - - git clone -b resolver_improvements https://github.com/CZNIC-Labs/knot.git - - cd knot - - autoreconf -if - - ./configure - - make - - sudo make install - - cd .. - - git clone https://github.com/libuv/libuv.git - - cd libuv - - sh autogen.sh - - ./configure - - make - - sudo make install - - sudo ldconfig + - ./scripts/bootstrap-depends.sh ${HOME}/fakeroot script: - - autoreconf -if + - autoreconf -i - ./configure - make - make check +sudo: false +cache: + directories: + - ${HOME}/fakeroot diff --git a/scripts/bootstrap-depend.sh b/scripts/bootstrap-depend.sh new file mode 100755 index 000000000..0e004682d --- /dev/null +++ b/scripts/bootstrap-depend.sh @@ -0,0 +1,57 @@ +#!/bin/sh +set -e + +PKG_CONFIG_PATH="${1}/lib/pkgconfig" + +if [ -z ${1} ]; then + echo "$0 " + exit 1 +fi + +install -d ${1} + +# lmdb +if [ ! -e ${1}/include/lmdb.h ]; then + git clone https://gitorious.org/mdb/mdb.git || true + cd mdb/libraries/liblmdb + make + install -d ${1}/lib ${1}/include + install -t ${1}/lib liblmdb.so + install -t ${1}/include lmdb.h + cd ../../.. +fi + +# liburcu +if [ ! -e ${1}/include/urcu.h ]; then + git clone git://git.urcu.so/userspace-rcu.git || true + cd userspace-rcu + ./bootstrap + ./configure --prefix=${1} + make + make install + cd .. +fi + +# libknot +if [ ! -e ${1}/include/libknot ]; then + git clone https://github.com/CZNIC-Labs/knot.git || true + cd knot + git checkout resolver_improvements + autoreconf -i + ./configure --prefix=${1} + make + make install + cd .. +fi + +# libuv +if [ ! -e ${1}/include/uv.h ]; then + git clone https://github.com/libuv/libuv.git || true + cd libuv + sh autogen.sh + ./configure --prefix=${1} + make + make install +fi + +ldconfig || true