aboutsummaryrefslogtreecommitdiff
path: root/tests/docker/Makefile.include
diff options
context:
space:
mode:
authorAlessandro Di Federico <ale@rev.ng>2021-05-12 11:20:26 +0100
committerAlex Bennée <alex.bennee@linaro.org>2021-05-18 09:35:39 +0100
commitafbdf0a44eaf6d529ec1e5250178d025f15aa606 (patch)
tree49b44b69668484d38995672ea6997af0556dc282 /tests/docker/Makefile.include
parentc3ad904393c169a5240b3ac58a37ef953b678c02 (diff)
docker: Add Hexagon image
This image is a little special because it takes a long time to build. As such most users don't want to be doing that and just pull random binaries from the ether as intended by the container gods. This involves someone with credentials and a beefy machine running: make docker-image-debian-hexagon-cross V=1 NOCACHE=1 J=30 docker tag qemu/debian-hexagon-cross registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross docker push registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross With a suitable binary in the "cloud" a normal user will run: make docker-image-debian-hexagon-cross or have it run for them through the dependency mechanism of our over-engineered makefiles and get the binary they wanted. There are a few wrinkles of course including needing to tweak the final image to have the credentials of the user so we can actually do our cross compiles. Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Alessandro Di Federico <ale@rev.ng> Cc: Philippe Mathieu-Daudé <f4bug@amsat.org> Cc: Brian Cain <bcain@quicinc.com> Message-Id: <20210512102051.12134-7-alex.bennee@linaro.org>
Diffstat (limited to 'tests/docker/Makefile.include')
-rw-r--r--tests/docker/Makefile.include22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 820423d718..8967ecf118 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -148,6 +148,28 @@ docker-image-debian-s390x-cross: docker-image-debian10
docker-image-debian-sh4-cross: docker-image-debian10
docker-image-debian-sparc64-cross: docker-image-debian10
+#
+# The build rule for hexagon-cross is special in so far for most of
+# the time we don't want to build it. While dockers caching does avoid
+# this most of the time sometimes we want to force the issue.
+#
+docker-image-debian-hexagon-cross: $(DOCKER_FILES_DIR)/debian-hexagon-cross.docker
+ $(if $(NOCACHE), \
+ $(call quiet-command, \
+ $(DOCKER_SCRIPT) build -t qemu/debian-hexagon-cross -f $< \
+ $(if $V,,--quiet) --no-cache \
+ --registry $(DOCKER_REGISTRY) --extra-files \
+ $(DOCKER_FILES_DIR)/debian-hexagon-cross.docker.d/build-toolchain.sh, \
+ "BUILD", "debian-hexagon-cross"), \
+ $(call quiet-command, \
+ $(DOCKER_SCRIPT) fetch $(if $V,,--quiet) \
+ qemu/debian-hexagon-cross $(DOCKER_REGISTRY), \
+ "FETCH", "debian-hexagon-cross") \
+ $(call quiet-command, \
+ $(DOCKER_SCRIPT) update $(if $V,,--quiet) \
+ qemu/debian-hexagon-cross --add-current-user, \
+ "PREPARE", "debian-hexagon-cross"))
+
# Specialist build images, sometimes very limited tools
docker-image-debian-tricore-cross: docker-image-debian10
docker-image-debian-all-test-cross: docker-image-debian10