blob: d1c61b02e6ff2e9bc3c4d4ed2449d3a1d164ebd1 [file] [log] [blame]
Guillaume Chateleta897bf82019-01-15 10:36:17 +01001#!/usr/bin/env bash
Guillaume Chatelet5177c692019-01-15 10:19:06 +01002
Guillaume Chatelet245c8122018-02-15 13:51:08 +01003source "$(dirname -- "$0")"/run_integration.sh
4
5# Toolchains for little-endian, 64-bit ARMv8 for GNU/Linux systems
6function set_aarch64-linux-gnu() {
7 TOOLCHAIN=LINARO
8 TARGET=aarch64-linux-gnu
9 QEMU_ARCH=aarch64
10}
11
Guillaume Chatelet5177c692019-01-15 10:19:06 +010012# Toolchains for little-endian, hard-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
Guillaume Chatelet245c8122018-02-15 13:51:08 +010013function set_arm-linux-gnueabihf() {
14 TOOLCHAIN=LINARO
15 TARGET=arm-linux-gnueabihf
16 QEMU_ARCH=arm
17}
18
19# Toolchains for little-endian, 32-bit ARMv8 for GNU/Linux systems
20function set_armv8l-linux-gnueabihf() {
21 TOOLCHAIN=LINARO
22 TARGET=armv8l-linux-gnueabihf
23 QEMU_ARCH=arm
24}
25
26# Toolchains for little-endian, soft-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
27function set_arm-linux-gnueabi() {
28 TOOLCHAIN=LINARO
29 TARGET=arm-linux-gnueabi
30 QEMU_ARCH=arm
31}
32
33# Toolchains for big-endian, 64-bit ARMv8 for GNU/Linux systems
34function set_aarch64_be-linux-gnu() {
35 TOOLCHAIN=LINARO
36 TARGET=aarch64_be-linux-gnu
Guillaume Chateletfaacb002019-01-18 11:39:25 +010037 QEMU_ARCH=DISABLED
Guillaume Chatelet245c8122018-02-15 13:51:08 +010038}
39
40# Toolchains for big-endian, hard-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
41function set_armeb-linux-gnueabihf() {
42 TOOLCHAIN=LINARO
43 TARGET=armeb-linux-gnueabihf
Guillaume Chateletfaacb002019-01-18 11:39:25 +010044 QEMU_ARCH=DISABLED
Guillaume Chatelet245c8122018-02-15 13:51:08 +010045}
46
47# Toolchains for big-endian, soft-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
48function set_armeb-linux-gnueabi() {
49 TOOLCHAIN=LINARO
50 TARGET=armeb-linux-gnueabi
Guillaume Chateletfaacb002019-01-18 11:39:25 +010051 QEMU_ARCH=DISABLED
Guillaume Chatelet6446b422018-02-16 14:17:10 +010052}
53
Guillaume Chatelet53ea2432019-01-21 22:40:16 +010054function set_mips32() {
Guillaume Chatelet6446b422018-02-16 14:17:10 +010055 TOOLCHAIN=CODESCAPE
Guillaume Chatelet53ea2432019-01-21 22:40:16 +010056 TARGET=mips32
57 QEMU_ARCH=mips
58}
59
60function set_mips32el() {
61 TOOLCHAIN=CODESCAPE
62 TARGET=mips32el
63 QEMU_ARCH=mipsel
64}
65
66function set_mips64() {
67 TOOLCHAIN=CODESCAPE
68 TARGET=mips64
69 QEMU_ARCH=mips64
70}
71
72function set_mips64el() {
73 TOOLCHAIN=CODESCAPE
74 TARGET=mips64el
75 QEMU_ARCH=mips64el
Guillaume Chatelet245c8122018-02-15 13:51:08 +010076}
77
78function set_native() {
79 TOOLCHAIN=NATIVE
80 TARGET=native
81 QEMU_ARCH=""
82}
83
84ENVIRONMENTS="
Guillaume Chatelet68479a82018-02-21 10:15:22 +010085 set_aarch64-linux-gnu
86 set_arm-linux-gnueabihf
87 set_armv8l-linux-gnueabihf
88 set_arm-linux-gnueabi
89 set_aarch64_be-linux-gnu
90 set_armeb-linux-gnueabihf
Guillaume Chatelet245c8122018-02-15 13:51:08 +010091 set_armeb-linux-gnueabi
Guillaume Chatelet53ea2432019-01-21 22:40:16 +010092 set_mips32
93 set_mips32el
94 set_mips64
95 set_mips64el
Guillaume Chatelet245c8122018-02-15 13:51:08 +010096 set_native
97"
98
Guillaume Chatelet1da4bf22019-01-15 17:39:44 +010099set -e
100
Guillaume Chateletdc7a9ee2019-01-17 15:25:56 +0100101CMAKE_GENERATOR="Ninja"
102
Guillaume Chatelet245c8122018-02-15 13:51:08 +0100103for SET_ENVIRONMENT in ${ENVIRONMENTS}; do
104 ${SET_ENVIRONMENT}
105 expand_environment_and_integrate
106done