1#!/usr/bin/env bash
2
3# This script installs and configures the dependencies for the project
4
5case `uname` in
6    Darwin)     export OS_NAME="osx"    ;;
7    Linux)      export OS_NAME="linux"  ;;
8esac
9
10echo "Building on: ${OS_NAME}"
11
12if env | grep -qE '^(?:TRAVIS|CI)='; then
13#    We're on Travis, intialize variables:
14    echo "Detected CI Build -> CI=${CI}"
15else
16#   We're building locally
17    export CI=false
18    echo "Detected Local Build -> CI=${CI}"
19fi
20
21export_compiler_vars() {
22    case ${COMPILER} in
23        appleclang*)
24            export CC=clang
25            export CXX=clang++
26        ;;
27
28        clang*)
29            export CC=$(echo ${COMPILER} | sed 's/\+//g')
30            export CXX=${COMPILER}
31        ;;
32
33        g++-*)
34            export CC=$(echo ${COMPILER} | sed 's/\+/c/g')
35            export CXX=${COMPILER}
36        ;;
37
38        *) echo "Invalid compiler version" ; exit 2 ;;
39    esac
40
41    echo "CC=${CC}"
42    $CC --version
43
44    echo "CXX=${CXX}"
45    $CXX --version
46}
47
48install_os_deps() {
49    # Install all of the OS specific OS dependencies
50    echo "Install: os-based dependencies"
51
52    local wd=`pwd`
53
54    case ${OS_NAME} in
55        osx)
56            export HOMEBREW_NO_EMOJI=1
57
58            echo "brew update ..."; brew update > /dev/null
59
60            case ${COMPILER} in
61                appleclang*) ;;
62
63                g++-5)
64                    brew install gcc5
65                    brew link gcc5 --overwrite --force
66                ;;
67
68                g++-4.9) ;;
69
70                *) echo "Invalid compiler version" ; exit 2 ;;
71            esac
72
73            brew install ninja
74
75            local lua_pkg
76            case ${LUA_VERSION} in
77                lua53)      lua_pkg=lua53   ;;
78                lua52)      lua_pkg=lua     ;;
79                lua51)      lua_pkg=lua51   ;;
80                luajit52)   lua_pkg=luajit  ;;
81                luajit)     lua_pkg=luajit  ;;
82                *)  echo "Invalid Lua Version for OSX"
83                    exit 2
84                    ;;
85            esac
86
87            brew install ${lua_pkg}
88        ;;
89
90        linux)
91            # no extras currently
92        ;;
93    esac
94
95    cd ${wd}
96}
97