aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorTony Sarajärvi <tony.sarajarvi@qt.io>2020-09-30 05:56:49 +0000
committerTony Sarajärvi <tony.sarajarvi@qt.io>2020-12-17 06:05:33 +0000
commit7f0113ef9e32fc7a06132d5b41d923621752c8fd (patch)
treef9472216014e27a78bd30c1ff8095d4cabbe7fa0 /coin
parent96d3431ccb1f074dca174d21b848a255142f90dc (diff)
Build Qt with llvm-mingw
Task-number: QTQAINFRA-2139 Task-number: QTQAINFRA-2039 Change-Id: I4958b3c1b069d6052bccace2d0b21cb27b7b54d1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Diffstat (limited to 'coin')
-rw-r--r--coin/platform_configs/cmake_platforms.yaml8
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps166
2 files changed, 74 insertions, 0 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index 6772836d..d2f5a6d7 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -116,3 +116,11 @@ Configurations:
'TEST_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}'
]
+-
+ Id: 'Windows10-LLVM-x64-host'
+ Template: 'qtci-windows-10-x86_64-52'
+ Compiler: 'Clang'
+ Features: ['Sccache']
+ Configure arguments: '-GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DFEATURE_system_zlib=OFF -DFEATURE_system_tiff=OFF -DFEATURE_system_freetype=OFF -DFEATURE_system_jpeg=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..'
+ Environment variables: ['Path=C:\llvm-mingw\bin;{{.Env.Path}}', 'NON_QTBASE_CONFIGURE_ARGS=-DFEATURE_system_tiff=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache',
+ 'TEST_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', 'LLVM_INSTALL_DIR=C:\llvm-mingw']
diff --git a/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..f1f4fde9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1
@@ -0,0 +1,66 @@
+#############################################################################
+##
+## Copyright (C) 2020 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$
+##
+#############################################################################
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+
+$zip = Get-DownloadLocation "llvm-mingw-20201020-ucrt-x86_64.zip"
+$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/llvm-mingw-20201020-ucrt-x86_64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20201020/llvm-mingw-20201020-ucrt-x86_64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "fdb40870de0967b5116855901196fc277087d76f"
+Extract-7Zip $zip C:\
+
+Write-Output "llvm-mingw = 20201020" >> ~/versions.txt
+Remove-Item -Path $zip
+
+# Apply patch https://reviews.llvm.org/D92379
+$patch = Get-DownloadLocation "lgamma_fix_for_llvm-mingw.patch"
+$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/lgamma_fix_for_llvm-mingw.patch"
+Download $url_cache $url_cache $patch
+Verify-Checksum $patch d0f5fb2a5168d409eaee66542954aa22ac3ed1d8
+
+Run-Executable "C:\Program Files\Git\usr\bin\patch" "-u -b c:/llvm-mingw/include/c++/v1/random -i $patch"
+
+# Get fixed llvm-rc.exe (fixes https://reviews.llvm.org/D92558)
+$fix = Get-DownloadLocation "llvm-rc.exe"
+$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/llvm-rc.exe"
+Download $url_cache $url_cache $fix
+Verify-Checksum $fix 75afa882bd587138481b632409c0a3fcb09ba75f
+
+Rename-Item -Path "C:\llvm-mingw\bin\llvm-rc.exe" -NewName "llvm-rc.orig"
+Copy-Item $fix -Destination "C:\llvm-mingw\bin\"
+
+