blob: 48902324167c8e8befcd26f72f108c92fdecda91 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
- job:
name: leg-tianocore-edk2-build-test
project-type: freestyle
defaults: global
logrotate:
daysToKeep: 30
numToKeep: 30
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
- job-workspace
linaro:
- job-read
- job-extended-read
- job-build
- job-cancel
parameters:
- string:
name: GIT_REPO
default: 'https://git.linaro.org/people/ard.biesheuvel/uefi-next.git'
- string:
name: GIT_BRANCH
default: 'unify-gcc-v2'
disabled: false
node: docker-utopic-amd64
display-name: 'Linaro EDK II - multiarch build test'
scm:
- git:
url: ${GIT_REPO}
refspec: +refs/heads/${GIT_BRANCH}:refs/remotes/origin/${GIT_BRANCH}
name: origin
branches:
- refs/heads/${GIT_BRANCH}
basedir: edk2
skip-tag: true
shallow-clone: true
clean: true
wipe-workspace: true
wrappers:
- timestamps
- build-name:
name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
builders:
- linaro-publish-token
- shell: |
#!/bin/bash
set -ex
trap cleanup_exit INT TERM EXIT
cleanup_exit()
{
cd ${WORKSPACE}
rm -rf out edk2/Build
}
# use the GCC 4.[89] toolchains that are already available on the build host
export GCC48_AARCH64_PREFIX=${HOME}/srv/toolchain/arm64-tc-14.04/bin/aarch64-linux-gnu-
export GCC48_ARM_PREFIX=${HOME}/srv/toolchain/arm-tc-14.04/bin/arm-linux-gnueabihf-
export GCC49_AARCH64_PREFIX=${HOME}/srv/toolchain/arm64-tc-14.09/bin/aarch64-linux-gnu-
export GCC49_ARM_PREFIX=${HOME}/srv/toolchain/arm-tc-14.09/bin/arm-linux-gnueabihf-
# reuse the binutils that ship with GCC 4.9 for the CLANG35 builds
export CLANG35_AARCH64_PREFIX=${HOME}/srv/toolchain/arm64-tc-14.09/bin/aarch64-linux-gnu-
sudo sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y --no-install-recommends clang gcc-4.4 gcc-4.6 gcc-4.7 gcc-4.8 gcc-4.9 gcc-mingw-w64 nasm
# set up the paths for the various GCC versions
for i in 4 6 7 8 9
do
export GCC4${i}_BIN=${WORKSPACE}/GCC4${i}/
mkdir ${WORKSPACE}/GCC4${i}
for t in objcopy ld ar make
do
ln -s /usr/bin/$t ${WORKSPACE}/GCC4${i}/
done
ln -s /usr/bin/gcc-4.${i} ${WORKSPACE}/GCC4${i}/gcc
done
export OUTDIR=${WORKSPACE}/out
(
unset WORKSPACE
NUM_THREADS=$((`getconf _NPROCESSORS_ONLN` + 1))
# Initialise the build environment
cd edk2
git clean -dxf BaseTools/
make -C BaseTools
source edksetup.sh
# override the mingw prefixes
sed 's/^\(DEFINE.\+UNIXGCC_IA32_PETOOLS_PREFIX.\+=\).\+/\1 i686-w64-mingw32-/' -i Conf/tools_def.txt
sed 's/^\(DEFINE.\+UNIXGCC_X64_PETOOLS_PREFIX.\+=\).\+/\1 x86_64-w64-mingw32-/' -i Conf/tools_def.txt
# download and unpack the OpenSSL tarball
cd ${WORKSPACE}/CryptoPkg/Library/OpensslLib
# capture OpenSSL version number from the HOWTO
VERSION=$(grep 'Current supported OpenSSL version' Patch-HOWTO.txt |sed 's/^[^0-9]\+\([0-9]\(\.[0-9]\)\+[a-z]*\).*\r\?$/\1/')
wget -O - -q "http://www.openssl.org/source/openssl-${VERSION}.tar.gz" | tar xzf -
( cd openssl-${VERSION}; patch -p0 -i ../EDKII_openssl-${VERSION}.patch )
./Install.sh
cd ${WORKSPACE}
build -n $NUM_THREADS -b DEBUG -b RELEASE -a AARCH64 -t GCC48 -t GCC49 -t CLANG35 -p ArmVirtPkg/ArmVirtQemu.dsc -D SECURE_BOOT_ENABLE
build -n $NUM_THREADS -b DEBUG -b RELEASE -a AARCH64 -t GCC48 -t GCC49 -t CLANG35 -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
build -n $NUM_THREADS -b DEBUG -b RELEASE -a AARCH64 -t GCC48 -t GCC49 -t CLANG35 -p ArmVirtPkg/ArmVirtXen.dsc
build -n $NUM_THREADS -b DEBUG -b RELEASE -a AARCH64 -t GCC48 -t GCC49 -t CLANG35 -p ArmPlatformPkg/ArmJunoPkg/ArmJuno.dsc
build -n $NUM_THREADS -b DEBUG -b RELEASE -a ARM -t GCC48 -t GCC49 -p ArmVirtPkg/ArmVirtQemu.dsc
build -n $NUM_THREADS -b DEBUG -a IA32 -t GCC44 -t GCC46 -t GCC47 -t GCC48 -t GCC49 -t UNIXGCC -p OvmfPkg/OvmfPkgIa32.dsc -D SECURE_BOOT_ENABLE
build -n $NUM_THREADS -b DEBUG -a X64 -t GCC44 -t GCC46 -t GCC47 -t GCC48 -t GCC49 -t UNIXGCC -p OvmfPkg/OvmfPkgX64.dsc -D SECURE_BOOT_ENABLE
build -n $NUM_THREADS -b RELEASE -a IA32 -t GCC44 -t GCC46 -t GCC47 -t GCC48 -t GCC49 -p OvmfPkg/OvmfPkgIa32.dsc
build -n $NUM_THREADS -b RELEASE -a X64 -t GCC44 -t GCC46 -t GCC47 -t GCC48 -t GCC49 -p OvmfPkg/OvmfPkgX64.dsc
)
publishers:
- email:
recipients: 'ard.biesheuvel@linaro.org'
|