osrm-backend/third_party/mason/utils/rebuild-llvm-tools.sh
2017-01-09 14:26:44 +05:30

51 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eu
set -o pipefail
packages=(llvm clang++ clang-tidy clang-format lldb llvm-cov include-what-you-use)
versions=(3.9.1 4.0.0 3.8.1)
if [[ $(uname -s) == 'Linux' ]]; then
CLANG_BOOTSTRAP_VERSION="3.8.1"
./mason install clang++ ${CLANG_BOOTSTRAP_VERSION}
CLANG_PREFIX=$(./mason prefix clang++ ${CLANG_BOOTSTRAP_VERSION})
export CXX=${CLANG_PREFIX}/bin/clang++
export CC=${CLANG_PREFIX}/bin/clang
fi
function build() {
local VERSION=$1
for package in "${!packages[@]}"; do
./mason build ${packages[$package]} ${VERSION}
done
}
function publish() {
local VERSION=$1
for package in "${!packages[@]}"; do
./mason publish ${packages[$package]} ${VERSION}
done
}
function new_version() {
local NEW_VERSION="$1"
local LAST_VERSION="$2"
for package in "${!packages[@]}"; do
mkdir -p scripts/${package}/${NEW_VERSION}
cp -r scripts/${package}/${LAST_VERSION}/. scripts/${package}/${NEW_VERSION}/
done
}
function build_all() {
for ver in "${!versions[@]}"; do
build ${versions[$ver]}
publish ${versions[$ver]}
done
}
if [[ ${1:-0} == "all" ]]; then
build_all
fi