Provision vanilla Windows 7 x86 and use it
authorTony Sarajärvi <tony.sarajarvi@qt.io>
Sun, 3 Sep 2017 05:30:17 +0000 (08:30 +0300)
committerTony Sarajärvi <tony.sarajarvi@qt.io>
Fri, 25 May 2018 07:20:14 +0000 (07:20 +0000)
Task-number: QTQAINFRA-1411
Change-Id: I96eefe2e69b5cbe5d68329be2bb4273d03bb85ca
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 372d2bb0764724cd5239ad47ad71927eef7ab090)
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
32 files changed:
coin/platform_configs/default.txt
coin/platform_configs/qt5.txt
coin/provisioning/common/install-jdk.ps1 [new file with mode: 0644]
coin/provisioning/common/windows/install-java.ps1
coin/provisioning/qtci-windows-7-x86/01-allow-remote-desktop-access.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/01-disable-uac.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/01-windows_removethemall.ps1 [deleted file]
coin/provisioning/qtci-windows-7-x86/02-disable-sleep.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/02-install-notepad++.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1 [moved from coin/provisioning/qtci-windows-7-x86/004-disable-windefender.ps1 with 100% similarity]
coin/provisioning/qtci-windows-7-x86/04-disable-windows-updates.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/05-wsearch-off.ps1 [moved from coin/provisioning/qtci-windows-7-x86/005-wsearch-off.ps1 with 100% similarity]
coin/provisioning/qtci-windows-7-x86/07-android_openssl.ps1 [deleted file]
coin/provisioning/qtci-windows-7-x86/08-install-git.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/08-install-jdk.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-cmake.ps1 [moved from coin/provisioning/qtci-windows-7-x86/cmake.ps1 with 100% similarity]
coin/provisioning/qtci-windows-7-x86/09-install-dependencywalker.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-install-mingw492.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-install-ruby.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-install-strawberry-perl.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-jom.ps1 [moved from coin/provisioning/qtci-windows-7-x86/jom.ps1 with 100% similarity]
coin/provisioning/qtci-windows-7-x86/09-mysql.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-postgresql.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/09-set-network-test-server.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/10-dxsdk.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/12-icu.ps1 [moved from coin/provisioning/qtci-windows-7-x86/icu.ps1 with 100% similarity]
coin/provisioning/qtci-windows-7-x86/25-python.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-7-x86/25-python3.ps1 [moved from coin/provisioning/qtci-windows-7-x86/python3.ps1 with 100% similarity]
coin/provisioning/qtci-windows-7-x86/30-android.ps1 [moved from coin/provisioning/qtci-windows-7-x86/06-android.ps1 with 64% similarity]
coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1 [new file with mode: 0644]

index 6e9a9d5..91d7365 100644 (file)
@@ -4,8 +4,8 @@ qtci-windows-8.1-x86_64                                             MSVC2013
 qtci-windows-8.1-x86_64                                             MSVC2012    DeveloperBuild Release QtNamespace QtLibInfix
 qtci-windows-8.1-x86_64                                 x86         MSVC2013    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
 qtci-windows-8.1-x86_64                                             MSVC2013    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
-qtci-windows-7-x86-2                                                MSVC2010    Release DeveloperBuild QtNamespace QtLibInfix OpenGLDynamic
-qtci-windows-7-x86-2                                                Mingw49     Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
+qtci-windows-7-x86-3                                                MSVC2010    Release DeveloperBuild QtNamespace QtLibInfix OpenGLDynamic
+qtci-windows-7-x86-3                                                Mingw49     Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
 qtci-windows-10-x86_64-10                               x86         MSVC2015    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
 qtci-windows-10-x86_64-10                                           MSVC2015    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
 qtci-linux-Ubuntu-14.04-x86_64-1                                    GCC         NoWidgets ForceDebugInfo
@@ -22,4 +22,4 @@ qtci-linux-RHEL-6.6-x86_64          Android_ANY         armv7       GCC
 qtci-linux-Ubuntu-14.04-x86_64-1    Boot2Qt_Fido        armv7       GCC         DisableTests
 qtci-linux-RHEL-6.6-x86_64          QNX_660             armv7       GCC         Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
 qtci-linux-Ubuntu-14.04-x86_64-1                                    GCC         TestOnly LicenseCheck
-qtci-windows-7-x86-2                Windows_7_Embedded  armv4       MSVC2008    DeveloperBuild Release DisableTests OpenGLES2
+qtci-windows-7-x86-3                Windows_7_Embedded  armv4       MSVC2008    DeveloperBuild Release DisableTests OpenGLES2
index 62582b8..391e916 100644 (file)
@@ -4,8 +4,8 @@ qtci-windows-8.1-x86_64     Windows_Phone_8_1   x86         MSVC2013    Packagin
 qtci-windows-10-x86_64-10   WinRT_10            x86         MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
 qtci-windows-10-x86_64-10   WinRT_10                        MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
 qtci-linux-RHEL-6.6-x86_64  Android_ANY         x86         GCC         Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-7-x86-2        Android_ANY         armv7       Mingw49     Packaging Release DisableTests OpenGLES2 UploadConfigureExe
-qtci-windows-7-x86-2        Android_ANY         x86         Mingw49     Packaging Release DisableTests OpenGLES2 UploadConfigureExe
+qtci-windows-7-x86-3        Android_ANY         armv7       Mingw49     Packaging Release DisableTests OpenGLES2 UploadConfigureExe
+qtci-windows-7-x86-3        Android_ANY         x86         Mingw49     Packaging Release DisableTests OpenGLES2 UploadConfigureExe
 qtci-osx-10.11-x86_64-3     Android_ANY         armv7       GCC         Packaging Release DisableTests OpenGLES2
 qtci-osx-10.11-x86_64-3     Android_ANY         x86         GCC         Packaging Release DisableTests OpenGLES2
 qtci-linux-RHEL-6.6-x86_64  QNX_660             x86         GCC         Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/provisioning/common/install-jdk.ps1 b/coin/provisioning/common/install-jdk.ps1
new file mode 100644 (file)
index 0000000..e4260de
--- /dev/null
@@ -0,0 +1,78 @@
+############################################################################
+##
+## 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\..\common\helpers.ps1"
+
+# This script will install Java SE
+
+$installdir = "C:\Program Files\Java\jdk1.8.0_144"
+
+$version = "8u144"
+if( (is64bitWinHost) -eq 1 ) {
+    $arch = "x64"
+    $sha1 = "adb03bc3f4b40bcb3227687860798981d58e1858"
+}
+else {
+    $arch = "i586"
+    $sha1 = "3b9ab95914514eaefd72b815c5d9dd84c8e216fc"
+}
+
+$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\jdk-" + $version + "-windows-" + $arch + ".exe"
+$official_url = "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-" + $version + "-windows-" + $arch + ".exe"
+$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
+
+echo "Fetching Java SE $version..."
+$ProgressPreference = 'SilentlyContinue'
+try {
+    echo "...from local cache"
+    Invoke-WebRequest -UseBasicParsing $url_cache -OutFile $javaPackage
+} catch {
+    echo "...from oracle.com"
+    $client = new-object System.Net.WebClient
+    $cookie = "oraclelicense=accept-securebackup-cookie"
+    $client.Headers.Add("Cookie", $cookie)
+    $client.DownloadFile($official_url, $javaPackage)
+
+    Invoke-WebRequest -UseBasicParsing $official_url -OutFile $javaPackage
+}
+
+Verify-Checksum $javaPackage $sha1
+
+cmd /c "$javaPackage /s SPONSORS=0"
+echo "Cleaning $javaPackage.."
+Remove-Item -Recurse -Force "$javaPackage"
+
+[Environment]::SetEnvironmentVariable("JAVA_HOME", "$installdir", [EnvironmentVariableTarget]::Machine)
+Add-Path "$installdir\bin"
+
+echo "Java SE = $version $arch" >> ~\versions.txt
index dc684b7..98e53a4 100644 (file)
@@ -36,6 +36,8 @@
 # This script will install Java RE
 # Official Java RE 7 downloads require Oracle accounts. Using local mirrors only.
 
+$installdir = "C:\Program Files\Java\jre7"
+
 $version = "7u7"
 if( (is64bitWinHost) -eq 1 ) {
     $arch = "x64"
@@ -53,4 +55,8 @@ Copy-Item $url_cache $javaPackage
 cmd /c "$javaPackage /s SPONSORS=0"
 echo "Cleaning $javaPackage.."
 Remove-Item -Recurse -Force "$javaPackage"
+
+[Environment]::SetEnvironmentVariable("JAVA_HOME", "$installdir", [EnvironmentVariableTarget]::Machine)
+Add-Path "$installdir\bin"
+
 echo "Java = $version $arch" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-7-x86/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-7-x86/01-allow-remote-desktop-access.ps1
new file mode 100644 (file)
index 0000000..af05e83
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/01-disable-uac.ps1 b/coin/provisioning/qtci-windows-7-x86/01-disable-uac.ps1
new file mode 100644 (file)
index 0000000..51eb0b2
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-uac.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/01-windows_removethemall.ps1 b/coin/provisioning/qtci-windows-7-x86/01-windows_removethemall.ps1
deleted file mode 100644 (file)
index 934a735..0000000
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\windows_removethemall.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-7-x86/02-disable-sleep.ps1
new file mode 100644 (file)
index 0000000..5bf811e
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-sleep.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/02-install-notepad++.ps1 b/coin/provisioning/qtci-windows-7-x86/02-install-notepad++.ps1
new file mode 100644 (file)
index 0000000..455d92b
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-notepad++.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1
new file mode 100644 (file)
index 0000000..a904425
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/04-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-7-x86/04-disable-windows-updates.ps1
new file mode 100644 (file)
index 0000000..5742831
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/07-android_openssl.ps1 b/coin/provisioning/qtci-windows-7-x86/07-android_openssl.ps1
deleted file mode 100644 (file)
index 7834d31..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-. "$PSScriptRoot\..\common\windows\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
-Remove-Item $destination -Force -Recurse
-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
-$env:Path = $env:Path + ";C:\msys\1.0\bin"
-
-echo "Configuring OpenSSL $version for Android..."
-cd $destination
-C:\msys\1.0\bin\bash.exe -c "perl Configure shared android"
-
-# 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/qtci-windows-7-x86/08-install-git.ps1 b/coin/provisioning/qtci-windows-7-x86/08-install-git.ps1
new file mode 100644 (file)
index 0000000..38106de
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-7-x86/08-install-jdk.ps1
new file mode 100644 (file)
index 0000000..15065b5
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jdk.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-dependencywalker.ps1
new file mode 100644 (file)
index 0000000..331de48
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-mingw492.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-mingw492.ps1
new file mode 100644 (file)
index 0000000..5303760
--- /dev/null
@@ -0,0 +1,10 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install MinGW 4.9.2
+
+$release = "i686-4.9.2-release-posix-dwarf-rt_v3-rev1"
+$sha1 = "a315254e0e85cfa170939e8c6890a7df1dc6bd20"
+
+InstallMinGW $release $sha1
+
+
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-ruby.ps1
new file mode 100644 (file)
index 0000000..875b426
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-ruby.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-strawberry-perl.ps1
new file mode 100644 (file)
index 0000000..2b5756b
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-mysql.ps1 b/coin/provisioning/qtci-windows-7-x86/09-mysql.ps1
new file mode 100644 (file)
index 0000000..eca1901
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mysql.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 b/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1
new file mode 100644 (file)
index 0000000..d57ad1c
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-postgresql.ps1 b/coin/provisioning/qtci-windows-7-x86/09-postgresql.ps1
new file mode 100644 (file)
index 0000000..451d245
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\postgresql.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-7-x86/09-set-network-test-server.ps1
new file mode 100644 (file)
index 0000000..7918fab
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-7-x86/10-dxsdk.ps1
new file mode 100644 (file)
index 0000000..6fea969
--- /dev/null
@@ -0,0 +1,19 @@
+. "$PSScriptRoot\..\common\windows\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/qtci-windows-7-x86/25-python.ps1 b/coin/provisioning/qtci-windows-7-x86/25-python.ps1
new file mode 100644 (file)
index 0000000..3e825ab
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1"
@@ -1,3 +1,36 @@
+############################################################################
+##
+## 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\..\common\windows\helpers.ps1"
 
 # This script installs Android sdk and ndk
diff --git a/coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1 b/coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1
new file mode 100644 (file)
index 0000000..a38272a
--- /dev/null
@@ -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\..\common\windows\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