From 1583fbd2bb5a7a1c624011a5d426b80086df252e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joni=20J=C3=A4ntti?= Date: Wed, 15 Nov 2017 12:12:33 +0200 Subject: Add Win7_x64 provisioning for RTA purposes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Windows 7 x64 (Windows 7 msvc2013-x86_64) template is needed since RTA is starting to deploy machines from coin. Task-number: QTQAINFRA-1521 Task-number: QTQAINFRA-1615 Change-Id: I7e9665bd37ee010a59ff3792f435d65eb9ad8c17 Reviewed-by: Heikki Halmet Reviewed-by: Johanna Äijälä --- .../common/windows/android-openssl.ps1 | 69 +++++++++++++++ coin/provisioning/common/windows/android.ps1 | 98 ++++++++++++++++++++++ coin/provisioning/common/windows/dxsdk.ps1 | 19 +++++ 3 files changed, 186 insertions(+) create mode 100644 coin/provisioning/common/windows/android-openssl.ps1 create mode 100644 coin/provisioning/common/windows/android.ps1 create mode 100644 coin/provisioning/common/windows/dxsdk.ps1 (limited to 'coin/provisioning/common') diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 new file mode 100644 index 00000000..798b3e45 --- /dev/null +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -0,0 +1,69 @@ +############################################################################ +## +## 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$ +## +############################################################################# + +# Requires: 7z, perl and msys + +. "$PSScriptRoot\helpers.ps1" + +# OpenSSL need to be configured from sources for Android build in windows 7 +# Msys need to be installed to target machine +# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html + +$version = "1.0.2j" +$zip = "c:\users\qt\downloads\openssl-$version.tar.gz" +$sha1 = "bdfbdb416942f666865fa48fe13c2d0e588df54f" +$destination = "C:\Utils\openssl-android-master" + +Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip +Verify-Checksum $zip $sha1 + +C:\Utils\sevenzip\7z.exe x $zip -oC:\Utils +C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-$version.tar -oC:\Utils +Rename-Item C:\Utils\openssl-$version $destination +Remove-Item $zip +Remove-Item C:\Utils\openssl-$version.tar + +set CC=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gcc +set AR=C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ar +set ANDROID_DEV=C:\utils\android-ndk-r10e\platforms\android-18\arch-arm\usr + +# Make sure configure for openssl has a "make" and "perl" available +$env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin" + +echo "Configuring OpenSSL $version for Android..." +pushd $destination +C:\msys\1.0\bin\bash.exe -c "c:/strawberry/perl/bin/perl Configure shared android" +popd + +# Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed. +# C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 new file mode 100644 index 00000000..f5e916e8 --- /dev/null +++ b/coin/provisioning/common/windows/android.ps1 @@ -0,0 +1,98 @@ +############################################################################ +## +## 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$ +## +############################################################################# + +. "$PSScriptRoot\helpers.ps1" + +# This script installs Android sdk and ndk +# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version $sdkBuildToolsVersion +# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. +# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device. +# That's why we need to use Andoid-21 API version in Qt 5.9. + +# NDK +$ndkVersion = "r10e" +$ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86.zip" +$ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86.zip" +$ndkChecksum = "1d0b8f2835be741f3048fb03c0a3e9f71ab7f357" +$ndkFolder = "c:\utils\android-ndk-$ndkVersion" +$ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" + +# SDK +$sdkVersion = "r24.4.1" +$sdkApi = "ANDROID_API_VERSION" +$sdkApiLevel = "android-21" +$sdkBuildToolsVersion = "23.0.3" +$sdkCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\android-sdk_$sdkVersion-windows.zip" +$sdkOfficialUrl = "https://dl.google.com/android/android-sdk_$sdkVersion-windows.zip" +$sdkChecksum = "66b6a6433053c152b22bf8cab19c0f3fef4eba49" +$sdkFolder = "c:\utils\android-sdk-windows" +$sdkZip = "c:\Windows\Temp\android_sdk_$sdkVersion.zip" + +function Install($1, $2, $3, $4) { + $cacheUrl = $1 + $zip = $2 + $checksum = $3 + $offcialUrl = $4 + + Download $offcialUrl $cacheUrl $zip + Verify-Checksum $zip "$checksum" + Extract-Zip $zip C:\Utils +} + +function SdkUpdate ($1, $2) { + echo "Running Android SDK update for $1..." + cmd /c "echo y |$1\tools\android update sdk --no-ui --all --filter $2" +} + +echo "Installing Android ndk $nkdVersion" +Install $ndkCachedUrl $ndkZip $ndkChecksum $ndkOfficialUrl +echo "Set environment variable ANDROID_NDK_HOME=$ndkFolder" +[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME", $ndkFolder, "Machine") +echo "Set environment variable ANDROID_NDK_ROOT=$ndkFolder" +[Environment]::SetEnvironmentVariable("ANDROID_NDK_ROOT", $ndkFolder, "Machine") + +#echo "Installing Android sdk $sdkVersion" +Install $sdkCachedUrl $sdkZip $sdkChecksum $sdkOfficialUrl +echo "Set environment variable ANDROID_SDK_HOME=$sdkFolder" +[Environment]::SetEnvironmentVariable("ANDROID_SDK_HOME", $sdkFolder, "Machine") +echo "Set environment variable ANDROID_API_VERSION $sdkApiLevel" +[Environment]::SetEnvironmentVariable("ANDROID_API_VERSION", $sdkApiLevel, "Machine") + +# SDK update +SdkUpdate $sdkFolder $sdkApiLevel +SdkUpdate $sdkFolder tools +SdkUpdate $sdkFolder platform-tools +SdkUpdate $sdkFolder build-tools-$sdkBuildToolsVersion + +# kill adb. This process prevent's provisioning to continue +taskkill /im adb.exe /f diff --git a/coin/provisioning/common/windows/dxsdk.ps1 b/coin/provisioning/common/windows/dxsdk.ps1 new file mode 100644 index 00000000..629c7ac5 --- /dev/null +++ b/coin/provisioning/common/windows/dxsdk.ps1 @@ -0,0 +1,19 @@ +. "$PSScriptRoot\helpers.ps1" + +# This script installs DirectX SDK + +$package = "DXSDK_Jun10.exe" + +$cacheUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\$package" +$officialUrl = "https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/$package" +$sdkChecksum = "8fe98c00fde0f524760bb9021f438bd7d9304a69" +$exe = "C:\Windows\Temp\$package" + +Download $officialUrl $cachedUrl $exe + +echo "Installing DirectX SDK" +cmd /c "$exe /u" + +Remove-Item $exe + +echo "DirectX SDK = 9.29.1962 (Jun 10)" >> ~\versions.txt -- cgit v1.2.3