1*c8dee2aaSAndroid Build Coastguard Worker#!/bin/sh 2*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2014 Google Inc. 3*c8dee2aaSAndroid Build Coastguard Worker# 4*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard Worker# install_dependencies.sh will install system-specific Skia 8*c8dee2aaSAndroid Build Coastguard Worker# dependencies using your system's package manager. If your system is 9*c8dee2aaSAndroid Build Coastguard Worker# not supported, add logic here to support it. 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker# Pass in --yes as the first argument to force apt-get to skip Y/n prompts while 12*c8dee2aaSAndroid Build Coastguard Worker# being backward compatible with the old behavior. 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Workerset -e 15*c8dee2aaSAndroid Build Coastguard Worker 16*c8dee2aaSAndroid Build Coastguard Worker# Return 0 iff all package name arguments are installed. 17*c8dee2aaSAndroid Build Coastguard Workerdpkg_all_installed() { 18*c8dee2aaSAndroid Build Coastguard Worker for arg; do 19*c8dee2aaSAndroid Build Coastguard Worker if !(dpkg-query -W -f'${Status}' "$arg" 2>/dev/null | \ 20*c8dee2aaSAndroid Build Coastguard Worker grep -q "ok installed"); then 21*c8dee2aaSAndroid Build Coastguard Worker return 1 22*c8dee2aaSAndroid Build Coastguard Worker fi 23*c8dee2aaSAndroid Build Coastguard Worker done 24*c8dee2aaSAndroid Build Coastguard Worker return 0 25*c8dee2aaSAndroid Build Coastguard Worker} 26*c8dee2aaSAndroid Build Coastguard Worker 27*c8dee2aaSAndroid Build Coastguard Workerif command -v lsb_release > /dev/null ; then 28*c8dee2aaSAndroid Build Coastguard Worker case $(lsb_release -i -s) in 29*c8dee2aaSAndroid Build Coastguard Worker Ubuntu|Debian) 30*c8dee2aaSAndroid Build Coastguard Worker PACKAGES=$(cat<<-EOF 31*c8dee2aaSAndroid Build Coastguard Worker build-essential 32*c8dee2aaSAndroid Build Coastguard Worker freeglut3-dev 33*c8dee2aaSAndroid Build Coastguard Worker libfontconfig-dev 34*c8dee2aaSAndroid Build Coastguard Worker libfreetype6-dev 35*c8dee2aaSAndroid Build Coastguard Worker libgl1-mesa-dev 36*c8dee2aaSAndroid Build Coastguard Worker libglu1-mesa-dev 37*c8dee2aaSAndroid Build Coastguard Worker libharfbuzz-dev 38*c8dee2aaSAndroid Build Coastguard Worker libicu-dev 39*c8dee2aaSAndroid Build Coastguard Worker libjpeg-dev 40*c8dee2aaSAndroid Build Coastguard Worker libpng-dev 41*c8dee2aaSAndroid Build Coastguard Worker libwebp-dev 42*c8dee2aaSAndroid Build Coastguard Worker libx11-xcb-dev 43*c8dee2aaSAndroid Build Coastguard Worker libxcb-xkb-dev 44*c8dee2aaSAndroid Build Coastguard Worker xcb 45*c8dee2aaSAndroid Build Coastguard Worker EOF 46*c8dee2aaSAndroid Build Coastguard Worker ) 47*c8dee2aaSAndroid Build Coastguard Worker if [ $(lsb_release -r -s) = '14.04' ] ; then 48*c8dee2aaSAndroid Build Coastguard Worker PACKAGES="${PACKAGES} ninja-build" 49*c8dee2aaSAndroid Build Coastguard Worker fi 50*c8dee2aaSAndroid Build Coastguard Worker if ! dpkg_all_installed $PACKAGES; then 51*c8dee2aaSAndroid Build Coastguard Worker sudo apt-get $1 install $PACKAGES 52*c8dee2aaSAndroid Build Coastguard Worker fi 53*c8dee2aaSAndroid Build Coastguard Worker exit 54*c8dee2aaSAndroid Build Coastguard Worker ;; 55*c8dee2aaSAndroid Build Coastguard Worker esac 56*c8dee2aaSAndroid Build Coastguard Workerfi 57*c8dee2aaSAndroid Build Coastguard Worker 58*c8dee2aaSAndroid Build Coastguard Workerecho 'unknown system' 59*c8dee2aaSAndroid Build Coastguard Workerexit 1 60