diff options
author | 2021-01-02 20:29:13 +0000 | |
---|---|---|
committer | 2021-01-02 20:29:13 +0000 | |
commit | 46035553bfdd96e63c94e32da0210227ec2e3cf1 (patch) | |
tree | b191f708fb9a2995ba745b2f31cdeeaee4872b7f /gnu/llvm/libcxx/utils/docker/scripts/install_clang_packages.sh | |
parent | Move Makefiles for libc++ and libc++abi to gnu/lib in preparation for an (diff) | |
download | wireguard-openbsd-46035553bfdd96e63c94e32da0210227ec2e3cf1.tar.xz wireguard-openbsd-46035553bfdd96e63c94e32da0210227ec2e3cf1.zip |
Import libc++ 10.0.1 release.
Diffstat (limited to 'gnu/llvm/libcxx/utils/docker/scripts/install_clang_packages.sh')
-rwxr-xr-x | gnu/llvm/libcxx/utils/docker/scripts/install_clang_packages.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/gnu/llvm/libcxx/utils/docker/scripts/install_clang_packages.sh b/gnu/llvm/libcxx/utils/docker/scripts/install_clang_packages.sh new file mode 100755 index 00000000000..94c98d6ad74 --- /dev/null +++ b/gnu/llvm/libcxx/utils/docker/scripts/install_clang_packages.sh @@ -0,0 +1,81 @@ +#!/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" |