| #!/bin/bash | |
| # Copyright 2015 The Weave Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P) | |
| ROOT_DIR=$(cd -P -- "$(dirname -- "$0")/.." && pwd -P) | |
| sudo apt-get update && sudo apt-get install ${APT_GET_OPTS} \ | |
| autoconf \ | |
| automake \ | |
| binutils \ | |
| g++ \ | |
| gyp \ | |
| hostapd \ | |
| libavahi-client-dev \ | |
| libcurl4-openssl-dev \ | |
| libexpat1-dev \ | |
| libnl-3-dev \ | |
| libnl-route-3-dev \ | |
| libssl-dev \ | |
| libtool \ | |
| || exit 1 | |
| mkdir -p $ROOT_DIR/third_party/lib $ROOT_DIR/third_party/include 2> /dev/null | |
| # Make gtest and gmock | |
| cd $ROOT_DIR/third_party | |
| rm -rf googletest | |
| git clone https://github.com/google/googletest.git || exit 1 | |
| cd $ROOT_DIR/third_party/googletest | |
| # gtest is in process of changing of dir structure and it has broken build | |
| # files. So this is temporarily workaround to fix that. | |
| git reset --hard d945d8c000a0ade73585d143532266968339bbb3 | |
| mv googletest googlemock/gtest | |
| for SUB_DIR in googlemock/gtest googlemock; do | |
| cd $ROOT_DIR/third_party/googletest/$SUB_DIR || exit 1 | |
| autoreconf -fvi || exit 1 | |
| ./configure --disable-shared || exit 1 | |
| make || exit 1 | |
| cp -rf include/* $ROOT_DIR/third_party/include/ || exit 1 | |
| cp -rf lib/.libs/* $ROOT_DIR/third_party/lib/ || exit 1 | |
| done | |
| rm -rf $ROOT_DIR/third_party/googletest | |
| # Make libevent. | |
| # Example uses libevent to implement HTTPS server. This capability is | |
| # available only in version 2.1.x-alpha. Step could be replaced with apt-get | |
| # in future. | |
| cd $ROOT_DIR/third_party | |
| rm -rf libevent | |
| git clone https://github.com/libevent/libevent.git || exit 1 | |
| cd libevent || exit 1 | |
| ./autogen.sh || exit 1 | |
| ./configure --disable-shared || exit 1 | |
| make || exit 1 | |
| if [ -z "$DISABLE_LIBEVENT_TEST" ]; then | |
| echo -e "\n\nTesting libevent...\nCan take several minutes.\n" | |
| make verify || exit 1 | |
| fi | |
| cp -rf include/* $ROOT_DIR/third_party/include/ || exit 1 | |
| cp -rf .libs/lib* $ROOT_DIR/third_party/lib/ || exit 1 | |
| rm -rf $ROOT_DIR/third_party/libevent |