123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #!/usr/bin/env bash
- #===- libcxx/utils/docker/scripts/install_clang_package.sh -----------------===//
- #
- # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- # See https://llvm.org/LICENSE.txt for license information.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- #
- #===-----------------------------------------------------------------------===//
- set -e
- function show_usage() {
- cat << EOF
- Usage: install_clang_package.sh [options]
- Install
- Available options:
- -h|--help show this help message
- --version the numeric version of the package to use.
- EOF
- }
- VERSION="9"
- while [[ $# -gt 0 ]]; do
- case "$1" in
- --version)
- shift
- VERSION="$1"
- shift
- ;;
- -h|--help)
- show_usage
- exit 0
- ;;
- *)
- echo "Unknown option: $1"
- exit 1
- esac
- done
- set -x
- curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
- add-apt-repository -s "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs) main"
- apt-get update
- apt-get upgrade -y
- apt-get install -y --no-install-recommends "clang-$VERSION"
- # FIXME(EricWF): Remove this once the clang packages are no longer broken.
- if [ -f "/usr/local/bin/clang" ]; then
- echo "clang already exists"
- exit 1
- else
- CC_BINARY="$(which clang-$VERSION)"
- ln -s "$CC_BINARY" "/usr/local/bin/clang"
- fi
- if [ -f "/usr/local/bin/clang++" ]; then
- echo "clang++ already exists"
- exit 1
- else
- CXX_BINARY="$(which clang++-$VERSION)"
- ln -s "$CXX_BINARY" "/usr/local/bin/clang++"
- fi
- echo "Testing clang version..."
- clang --version
- echo "Testing clang++ version..."
- clang++ --version
- # Figure out the libc++ and libc++abi package versions that we want.
- if [ "$VERSION" == "" ]; then
- VERSION="$(apt-cache search 'libc\+\+-[0-9]-dev' | awk '{print $1}' | awk -F- '{print $2}')"
- echo "Installing version '$VERSION'"
- fi
- apt-get purge -y "libc++-$VERSION-dev" "libc++abi-$VERSION-dev"
- apt-get install -y --no-install-recommends "libc++-$VERSION-dev" "libc++abi-$VERSION-dev"
- echo "Done"
|