From 464f63d52d0c3b2946a07cc7f8742461a8918d9a Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Fri, 4 Nov 2016 08:04:32 -0500 Subject: [PATCH] Add scripts to install proto3 from source Change-Id: I75a161ba71f2f4f3e14dca0600c3b6fe5a723bdf --- bindep.txt | 4 ++-- bootstrap.sh | 6 ++++++ configure.ac | 2 ++ install_proto3.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100755 install_proto3.sh diff --git a/bindep.txt b/bindep.txt index fdfa7df..f436dc0 100644 --- a/bindep.txt +++ b/bindep.txt @@ -1,7 +1,7 @@ -libprotobuf-dev -protobuf-compiler pkg-config build-essential autoconf +automake libtool golang-go +curl diff --git a/bootstrap.sh b/bootstrap.sh index 5a14fe6..710c405 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -14,4 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +if ! protoc --version | grep -q 3\. ; then + echo "Protobuf v3 required - installing" + bash install_proto3.sh +fi +pip install pbr + autoreconf -fi diff --git a/configure.ac b/configure.ac index 1ccaaba..1818db2 100644 --- a/configure.ac +++ b/configure.ac @@ -111,6 +111,8 @@ AS_IF([test "$lt_cv_prog_gnu_ld" = "yes"],[ LDFLAGS="${LDFLAGS} ${LD_VERSION_SCRIPT}" ]) +AM_CXXFLAGS="-std=c++11 $AM_CXXFLAGS" + AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/install_proto3.sh b/install_proto3.sh new file mode 100755 index 0000000..94898e6 --- /dev/null +++ b/install_proto3.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# Copyright (c) 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +if [ -z $GOPATH ]; then + echo "oaktreemodel requires a golang environment." + echo "Please set GOPATH and make sure GOPATH/bin is in your PATH." + exit 1 +fi +GRPCDIR=$GOPATH/src/github.com/grpc/grpc +GRPCVER=$(curl -L http://grpc.io/release) +mkdir -p $(dirname $GRPCDIR) +git clone -b $GRPCVER https://github.com/grpc/grpc $GRPCDIR +pushd $GRPCDIR + +git submodule update --init +make +if [ $(id -u) = '0' ] ; then + SUDO= +else + SUDO=sudo +fi +$SUDO make install +cd third_party/protobuf +$SUDO make install + +popd +go get google.golang.org/grpc +go get -u github.com/golang/protobuf/{proto,protoc-gen-go}