summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml33
-rw-r--r--Dockerfile.debian-arm6446
-rw-r--r--meson-cross-arm64.txt12
3 files changed, 91 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bec09e3e..2c17ec61 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -57,6 +57,15 @@ build:tests-debian-meson:
paths:
- meson-test-list.txt
+build:tests-debian-meson-arm64:
+ image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64:latest
+ stage: build
+ script:
+ - PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/ meson --cross-file meson-cross-arm64.txt build
+ - ninja -C build
+ artifacts:
+ paths:
+ - build
build:tests-debian-autotools:
image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian:latest
@@ -77,6 +86,14 @@ test:ninja-test:
stage: test
script: ninja -C build test
+test:ninja-test-arm64:
+ when: manual
+ image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64:latest
+ dependencies:
+ - build:tests-debian-meson-arm64
+ stage: test
+ script: ninja -C build test
+
test:test-list-diff:
dependencies:
- build:tests-debian-autotools
@@ -117,6 +134,22 @@ containers:igt-debian:
- docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian -f Dockerfile.debian .
- docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian
+containers:igt-debian-arm64:
+ stage: containers
+ image: docker:stable
+ only:
+ changes:
+ - Dockerfile.debian-arm64
+ services:
+ - docker:dind
+ variables:
+ DOCKER_HOST: tcp://docker:2375
+ DOCKER_DRIVER: overlay2
+ script:
+ - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+ - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64 -f Dockerfile.debian-arm64 .
+ - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64
+
containers:igt-fedora:
stage: containers
image: docker:stable
diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
new file mode 100644
index 00000000..20c2e8b3
--- /dev/null
+++ b/Dockerfile.debian-arm64
@@ -0,0 +1,46 @@
+FROM debian:stretch-backports
+
+RUN apt-get update
+RUN apt-get install -y \
+ flex \
+ bison \
+ pkg-config \
+ x11proto-dri2-dev \
+ python-docutils \
+ valgrind \
+ peg
+
+RUN dpkg --add-architecture arm64
+RUN apt-get update
+RUN apt-get install -y \
+ gcc-aarch64-linux-gnu \
+ libpciaccess-dev:arm64 \
+ libkmod-dev:arm64 \
+ libprocps-dev:arm64 \
+ libunwind-dev:arm64 \
+ libdw-dev:arm64 \
+ zlib1g-dev:arm64 \
+ liblzma-dev:arm64 \
+ libssl-dev:arm64 \
+ libcairo-dev:arm64 \
+ libpixman-1-dev:arm64 \
+ libudev-dev:arm64 \
+ libgsl-dev:arm64 \
+ libasound2-dev:arm64 \
+ libjson-c-dev:arm64 \
+ libcurl4-openssl-dev:arm64 \
+ libxrandr-dev:arm64 \
+ libxv-dev:arm64
+
+RUN apt-get install -t stretch-backports -y \
+ meson \
+ libdrm-dev:arm64 \
+ qemu-user
+
+# autotools build deps
+RUN apt-get install -y \
+ autoconf \
+ automake \
+ xutils-dev \
+ libtool \
+ make
diff --git a/meson-cross-arm64.txt b/meson-cross-arm64.txt
new file mode 100644
index 00000000..d96f180e
--- /dev/null
+++ b/meson-cross-arm64.txt
@@ -0,0 +1,12 @@
+[binaries]
+c = '/usr/bin/aarch64-linux-gnu-gcc'
+ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
+strip = '/usr/bin/aarch64-linux-gnu-strip'
+pkgconfig = 'pkg-config'
+exe_wrapper = 'qemu-aarch64'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'aarch64'
+endian = 'little'