#!/usr/bin/env bash

PROTOC_VERSION=3.9.1
PROTOC_ZIP=protobuf-all-${PROTOC_VERSION}.zip

set -e  # exit immediately on error
set -x  # display all commands

sudo \
  apt-get install \
  autoconf \
  automake \
  libtool \
  curl \
  make \
  g++ \
  unzip

curl \
  -OL \
  https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/${PROTOC_ZIP}

# unzi[
sudo unzip -o $PROTOC_ZIP -d .

cd protobuf-${PROTOC_VERSION}

sudo ./configure
sudo make
sudo make check
sudo make install

# refresh shared library cache.
sudo ldconfig

# cleanup
rm -f $PROTOC_ZIP

# validate
protobuf --version