mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 19:36:04 +08:00
The `libclang_version` variable is now updated to the current version, 15.0.0, in both "coin/provisioning/common/unix/libclang.sh" and "coin/provisioning/common/windows/libclang.ps1". The naming of the artifacts for the provided library was slightly changed from previous versions. Before, the version number would contain two integers separated by a dot. The generated artifact would be named after this version number, with the dot removed. That is, for example, for version 12.0, a release artifact would be called "libclang-release_120.*". The updated two version uses a three segments version number and, furthermore, the artifacts name do not collapse the separating dots such that a release artifact would be called "libclang-release_15.0.0.*". To support the new naming scheme, some processing was removed from both provisioning scripts. For Windows, the line removing all dots from the `libclang_version` variable was removed. For Unix, the removal of the dots in the `libclang_version` variable when expanding the variable to generate the target urls to retrieve the artifact was removed, using the bare value of the variable itself. For Unix provisioning, the artifacts for some of the platform, namely "CentOS" and "Ubuntu 22.04", are not provided anymore. "CentOS" was replaced by "Rhel8.4" on "gcc10.0", hence the target url for the redhat platform was modified based on the new name. The "Ubuntu 22.04" artifacts were not provided, such that the platform was removed. The sha1 of the target artifacts on both provisioning script was updated for all platforms. Task-number: QTBUG-107199 Pick-to: 6.4 Change-Id: I873680825b0953e897c610fb0b47f3cd90625646 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
94 lines
4.1 KiB
Bash
Executable File
94 lines
4.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#############################################################################
|
|
##
|
|
## Copyright (C) 2020 The Qt Company Ltd.
|
|
## Contact: https://www.qt.io/licensing/
|
|
##
|
|
## This file is part of the provisioning scripts of the Qt Toolkit.
|
|
##
|
|
## $QT_BEGIN_LICENSE:LGPL$
|
|
## Commercial License Usage
|
|
## Licensees holding valid commercial Qt licenses may use this file in
|
|
## accordance with the commercial license agreement provided with the
|
|
## Software or, alternatively, in accordance with the terms contained in
|
|
## a written agreement between you and The Qt Company. For licensing terms
|
|
## and conditions see https://www.qt.io/terms-conditions. For further
|
|
## information use the contact form at https://www.qt.io/contact-us.
|
|
##
|
|
## GNU Lesser General Public License Usage
|
|
## Alternatively, this file may be used under the terms of the GNU Lesser
|
|
## General Public License version 3 as published by the Free Software
|
|
## Foundation and appearing in the file LICENSE.LGPL3 included in the
|
|
## packaging of this file. Please review the following information to
|
|
## ensure the GNU Lesser General Public License version 3 requirements
|
|
## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
|
|
##
|
|
## GNU General Public License Usage
|
|
## Alternatively, this file may be used under the terms of the GNU
|
|
## General Public License version 2.0 or (at your option) the GNU General
|
|
## Public license version 3 or any later version approved by the KDE Free
|
|
## Qt Foundation. The licenses are as published by the Free Software
|
|
## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
|
|
## included in the packaging of this file. Please review the following
|
|
## information to ensure the GNU General Public License requirements will
|
|
## be met: https://www.gnu.org/licenses/gpl-2.0.html and
|
|
## https://www.gnu.org/licenses/gpl-3.0.html.
|
|
##
|
|
## $QT_END_LICENSE$
|
|
##
|
|
#############################################################################
|
|
|
|
# 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"
|
|
|
|
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.intra.qt.io/input/libclang/qt/libclang-release_${version}-based-mac.7z"
|
|
sha1="6d916a17459c81551dde47580ae3f071e93338a5"
|
|
elif test -f /etc/redhat-release && cat /etc/redhat-release | grep "Red Hat" | 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.intra.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z"
|
|
sha1="6ca035bb522022d34d61759e0460845832933b5c"
|
|
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.intra.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
|
|
|
|
|
|
echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile
|
|
echo "libClang = $version" >> ~/versions.txt
|
|
|
|
# This is a hacked static build of libclang which requires special
|
|
# handling on the qdoc side.
|
|
SetEnvVar "QDOC_USE_STATIC_LIBCLANG" "1"
|