Files
qt5/coin/provisioning/common/unix/libclang.sh
Michael Brüning 92969b10f5 Use SetEnvVar instead of appending .bash_profile with LLVM variables
It seems that the existence of .bash_profile on Debian systems prevents
the .profile file from being read on login, which means some additions
to PATH that are essential for e.g. the Web Engine build are not made.

Pick-to: 6.7 6.6 6.5
Change-Id: Ib271ef49e573fc0588ffbaa9bebbfda4469b60f9
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-04-24 09:53:23 +01:00

67 lines
3.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
# The Clang library (C-bindings), version 3.9 or higher is required for building.
# This same script is used to provision libclang to Linux and macOS.
# In case of Linux, we expect to get the values as args
set -e
# shellcheck source=./check_and_set_proxy.sh
source "${BASH_SOURCE%/*}/check_and_set_proxy.sh"
# shellcheck source=./SetEnvVar.sh
source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh"
PROVISIONING_DIR="$(dirname "$0")/../../"
# shellcheck source=./common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
libclang_version="15.0.0"
if uname -a |grep -q Darwin; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-mac.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-mac.7z"
sha1="6d916a17459c81551dde47580ae3f071e93338a5"
elif test -f /etc/redhat-release && grep "Red Hat" /etc/redhat-release | grep -v "8" ; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z"
sha1="6ca035bb522022d34d61759e0460845832933b5c"
elif [ "$PROVISIONING_OS_ID" = ubuntu ]; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
sha1="dd170ec762a7ec8ac84b4b5cac3a422514e5b030"
elif [ "$PROVISIONING_OS_ID" = debian ]; then
version=17.0.1
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z"
sha1="43f0210121b889107e3dab631e8104e661a3866b"
else
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z"
sha1="bd6615012b8bdb2720a45ede56e05f6db7191843"
fi
zip="/tmp/libclang.7z"
destination="/usr/local/libclang-$version"
DownloadURL $url_cached $url $sha1 $zip
if command -v 7zr &> /dev/null; then
sudo 7zr x $zip -o/usr/local/
else
sudo 7z x $zip -o/usr/local/
fi
sudo mv /usr/local/libclang "$destination"
rm -rf $zip
SetEnvVar "LLVM_INSTALL_DIR" "$destination"
echo "libClang = $version" >> ~/versions.txt