|  | #!/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 \ | 
|  | ninja-build \ | 
|  | || 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 |