diff options
Diffstat (limited to 'coin')
8 files changed, 165 insertions, 0 deletions
diff --git a/coin/provisioning/common/unix/libclang-v100-dyn.sh b/coin/provisioning/common/unix/libclang-v100-dyn.sh new file mode 100755 index 00000000..d6609429 --- /dev/null +++ b/coin/provisioning/common/unix/libclang-v100-dyn.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## 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 http://www.qt.io/terms-conditions. For further +## information use the contact form at http://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 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $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=10.0 + +if uname -a |grep -q Darwin; then + version=$libclang_version + url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-mac.7z" + sha1="0fe1fa50b1b469d2c05acc3a3468bc93a66f1e5a" + url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-based-mac.7z" +elif test -f /etc/redhat-release || /etc/centos-release; then + version=$libclang_version + url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z" + sha1="1d2e265502fc0832a854f989d757105833fbd179" + url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z" +else + version=$libclang_version + url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z" + sha1="c1580acb3a82e193acf86f18afb52427c5e67de8" + url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z" +fi + +zip="/tmp/libclang.7z" +destination="/usr/local/libclang-dynlibs-$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_DYNAMIC_LIBS_100=$destination" >> ~/.bash_profile +echo "libClang for QtForPython= $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/libclang-v100-dyn.ps1 b/coin/provisioning/common/windows/libclang-v100-dyn.ps1 new file mode 100644 index 00000000..b0792a07 --- /dev/null +++ b/coin/provisioning/common/windows/libclang-v100-dyn.ps1 @@ -0,0 +1,50 @@ +param( + [Int32]$archVer=32, + [string]$toolchain="vs2019", + [bool]$setDefault=$true +) +. "$PSScriptRoot\helpers.ps1" + +$libclang_version="10.0" +Write-Output "libClang for QtForPython = $libclang_version" >> ~/versions.txt + +# PySide versions following Qt6 use a C++ parser based on Clang (http://clang.org/). +# The Clang library (C-bindings), version 8.0 or higher is required for building. + +# Starting from Qt 5.11 QDoc requires Clang to parse C++ + +$baseDestination = "C:\Utils\libclang-" + $libclang_version + "-dynlibs-" + $toolchain +$libclang_version = $libclang_version -replace '["."]' + +function install() { + + param( + [string]$sha1=$1, + [string]$destination=$2 + ) + + $zip = "c:\users\qt\downloads\libclang-dyn.7z" + + $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" + $script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" + + Download $OfficialUrl $CachedUrl $zip + Verify-Checksum $zip $sha1 + Extract-7Zip $zip C:\Utils\ + Rename-Item C:\Utils\libclang $destination + Remove-Item -Force -Path $zip +} + +if ( $toolchain -eq "vs2019" ) { + if ( $archVer -eq 64 ) { + $sha1 = "B2C4F24B2388AEBAA6B8FCE3AE4E63D34D1517FE" + } + else { + $sha1 = "b970f51df255a27e0fdb7b665e70ed5281257f40" + } +} + +install $sha1 $baseDestination-$archVer + +Set-EnvironmentVariable "LLVM_DYNAMIC_LIBS_100" ($baseDestination + "-_ARCH_") + diff --git a/coin/provisioning/qtci-linux-CentOS-8.1-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-CentOS-8.1-x86_64/05-libclang-v100-dyn.sh new file mode 100755 index 00000000..fbf34ddd --- /dev/null +++ b/coin/provisioning/qtci-linux-CentOS-8.1-x86_64/05-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP2-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-SLES-15_SP2-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..b0080cbc --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP2-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh new file mode 100755 index 00000000..dcd5b2d8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.2-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.2-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..b0080cbc --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.2-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..c9d6e93d --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1 new file mode 100644 index 00000000..82b91257 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019 +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019 |