aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/windows
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/common/windows')
-rw-r--r--coin/provisioning/common/windows/android-openssl.ps169
-rw-r--r--coin/provisioning/common/windows/android.ps198
-rw-r--r--coin/provisioning/common/windows/dxsdk.ps119
-rw-r--r--coin/provisioning/common/windows/mqtt_broker.ps14
4 files changed, 188 insertions, 2 deletions
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
diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1
index 610f22d8..35bb9823 100644
--- a/coin/provisioning/common/windows/mqtt_broker.ps1
+++ b/coin/provisioning/common/windows/mqtt_broker.ps1
@@ -35,8 +35,8 @@
echo "MQTT: Downloading Paho test broker..."
$zip = "c:\users\qt\downloads\pahotest.zip"
-$externalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
-$internalUrl = "http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
+$externalUrl = "http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
+$internalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
$sha1 = "532fe145096cdd8d679f425cbfd883289150c968"
Download $externalUrl $internalUrl $zip