1*b0d29bc4SBrooks Davis#! /bin/sh 2*b0d29bc4SBrooks Davis# Copyright 2014 The Kyua Authors. 3*b0d29bc4SBrooks Davis# All rights reserved. 4*b0d29bc4SBrooks Davis# 5*b0d29bc4SBrooks Davis# Redistribution and use in source and binary forms, with or without 6*b0d29bc4SBrooks Davis# modification, are permitted provided that the following conditions are 7*b0d29bc4SBrooks Davis# met: 8*b0d29bc4SBrooks Davis# 9*b0d29bc4SBrooks Davis# * Redistributions of source code must retain the above copyright 10*b0d29bc4SBrooks Davis# notice, this list of conditions and the following disclaimer. 11*b0d29bc4SBrooks Davis# * Redistributions in binary form must reproduce the above copyright 12*b0d29bc4SBrooks Davis# notice, this list of conditions and the following disclaimer in the 13*b0d29bc4SBrooks Davis# documentation and/or other materials provided with the distribution. 14*b0d29bc4SBrooks Davis# * Neither the name of Google Inc. nor the names of its contributors 15*b0d29bc4SBrooks Davis# may be used to endorse or promote products derived from this software 16*b0d29bc4SBrooks Davis# without specific prior written permission. 17*b0d29bc4SBrooks Davis# 18*b0d29bc4SBrooks Davis# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19*b0d29bc4SBrooks Davis# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20*b0d29bc4SBrooks Davis# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21*b0d29bc4SBrooks Davis# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22*b0d29bc4SBrooks Davis# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23*b0d29bc4SBrooks Davis# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24*b0d29bc4SBrooks Davis# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25*b0d29bc4SBrooks Davis# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26*b0d29bc4SBrooks Davis# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27*b0d29bc4SBrooks Davis# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28*b0d29bc4SBrooks Davis# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29*b0d29bc4SBrooks Davis 30*b0d29bc4SBrooks Davisset -e -x 31*b0d29bc4SBrooks Davis 32*b0d29bc4SBrooks Davisinstall_deps() { 33*b0d29bc4SBrooks Davis local pkgsuffix= 34*b0d29bc4SBrooks Davis local packages= 35*b0d29bc4SBrooks Davis if [ "${ARCH?}" = i386 ]; then 36*b0d29bc4SBrooks Davis pkgsuffix=:i386 37*b0d29bc4SBrooks Davis packages="${packages} gcc-multilib" 38*b0d29bc4SBrooks Davis packages="${packages} g++-multilib" 39*b0d29bc4SBrooks Davis sudo dpkg --add-architecture i386 40*b0d29bc4SBrooks Davis fi 41*b0d29bc4SBrooks Davis packages="${packages} gdb" 42*b0d29bc4SBrooks Davis packages="${packages} liblua5.2-0${pkgsuffix}" 43*b0d29bc4SBrooks Davis packages="${packages} liblua5.2-dev${pkgsuffix}" 44*b0d29bc4SBrooks Davis packages="${packages} libsqlite3-0${pkgsuffix}" 45*b0d29bc4SBrooks Davis packages="${packages} libsqlite3-dev${pkgsuffix}" 46*b0d29bc4SBrooks Davis packages="${packages} pkg-config${pkgsuffix}" 47*b0d29bc4SBrooks Davis packages="${packages} sqlite3" 48*b0d29bc4SBrooks Davis sudo apt-get update -qq 49*b0d29bc4SBrooks Davis sudo apt-get install -y ${packages} 50*b0d29bc4SBrooks Davis} 51*b0d29bc4SBrooks Davis 52*b0d29bc4SBrooks Davisinstall_kyua() { 53*b0d29bc4SBrooks Davis local name="20190321-usr-local-kyua-ubuntu-16-04-${ARCH?}-${CC?}.tar.gz" 54*b0d29bc4SBrooks Davis wget -O "${name}" "http://dl.bintray.com/ngie-eign/kyua/${name}" || return 1 55*b0d29bc4SBrooks Davis sudo tar -xzvp -C / -f "${name}" 56*b0d29bc4SBrooks Davis rm -f "${name}" 57*b0d29bc4SBrooks Davis} 58*b0d29bc4SBrooks Davis 59*b0d29bc4SBrooks Davisdo_apidocs() { 60*b0d29bc4SBrooks Davis sudo apt-get install -y doxygen 61*b0d29bc4SBrooks Davis} 62*b0d29bc4SBrooks Davis 63*b0d29bc4SBrooks Davisdo_distcheck() { 64*b0d29bc4SBrooks Davis : 65*b0d29bc4SBrooks Davis} 66*b0d29bc4SBrooks Davis 67*b0d29bc4SBrooks Davisdo_style() { 68*b0d29bc4SBrooks Davis : 69*b0d29bc4SBrooks Davis} 70*b0d29bc4SBrooks Davis 71*b0d29bc4SBrooks Davismain() { 72*b0d29bc4SBrooks Davis if [ -z "${DO}" ]; then 73*b0d29bc4SBrooks Davis echo "DO must be defined" 1>&2 74*b0d29bc4SBrooks Davis exit 1 75*b0d29bc4SBrooks Davis fi 76*b0d29bc4SBrooks Davis install_deps 77*b0d29bc4SBrooks Davis install_kyua 78*b0d29bc4SBrooks Davis for step in ${DO}; do 79*b0d29bc4SBrooks Davis "do_${DO}" || exit 1 80*b0d29bc4SBrooks Davis done 81*b0d29bc4SBrooks Davis} 82*b0d29bc4SBrooks Davis 83*b0d29bc4SBrooks Davismain "${@}" 84