@@ -7,6 +7,8 @@ ARG BASE_IMAGE=ghcr.io/philips-software/amp-devcontainer-base:edge
77ARG CCACHE_MINISIGN_PUBKEY=RWQX7yXbBedVfI4PNx6FLdFXu9GHUFsr28s4BVGxm4BeybtnX3P06saF
88ARG CCACHE_VERSION=4.13.1
99ARG XWIN_VERSION=0.8.0
10+ # Whether or not to build the embedded flavor of this container
11+ ARG BUILD_EMBEDDED_FLAVOR=false
1012
1113# Downloader stage for AMD64 architecture
1214FROM scratch AS downloader-amd64
@@ -50,6 +52,7 @@ FROM ${BASE_IMAGE} AS extractor
5052ARG CCACHE_MINISIGN_PUBKEY
5153ARG CCACHE_VERSION
5254ARG XWIN_VERSION
55+ ARG BUILD_EMBEDDED_FLAVOR
5356
5457SHELL ["/bin/bash" , "-Eeuo" , "pipefail" , "-c" ]
5558
@@ -61,21 +64,24 @@ RUN --mount=from=downloader,target=/dl \
6164 --mount=type=cache,target=/var/lib/apt,sharing=locked <<EOF
6265 apt-get update && apt-get install --no-install-recommends -y minisign
6366
64- ARM_GNU_TOOLCHAIN_URL="https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-$(uname -m)-arm-none-eabi.tar.xz"
65- ARM_GNU_TOOLCHAIN_TAR="/tmp/arm-gnu-toolchain.tar.xz"
67+ if [[ "${BUILD_EMBEDDED_FLAVOR}" == "true" ]]; then
68+ ARM_GNU_TOOLCHAIN_URL="https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-$(uname -m)-arm-none-eabi.tar.xz"
69+ ARM_GNU_TOOLCHAIN_TAR="/tmp/arm-gnu-toolchain.tar.xz"
6670
67- if [[ "$(uname -m)" == "x86_64" ]]; then
68- ARM_GNU_TOOLCHAIN_SHA256="597893282ac8c6ab1a4073977f2362990184599643b4c5ee34870a8215783a16"
69- elif [[ "$(uname -m)" == "aarch64" ]]; then
70- ARM_GNU_TOOLCHAIN_SHA256="d061559d814b205ed30c5b7c577c03317ec447ca51cd5a159d26b12a5bbeb20c"
71- fi
71+ if [[ "$(uname -m)" == "x86_64" ]]; then
72+ ARM_GNU_TOOLCHAIN_SHA256="597893282ac8c6ab1a4073977f2362990184599643b4c5ee34870a8215783a16"
73+ elif [[ "$(uname -m)" == "aarch64" ]]; then
74+ ARM_GNU_TOOLCHAIN_SHA256="d061559d814b205ed30c5b7c577c03317ec447ca51cd5a159d26b12a5bbeb20c"
75+ fi
76+
77+ wget --no-hsts -qO "${ARM_GNU_TOOLCHAIN_TAR}" "${ARM_GNU_TOOLCHAIN_URL}"
78+ echo "${ARM_GNU_TOOLCHAIN_SHA256} ${ARM_GNU_TOOLCHAIN_TAR}" | sha256sum -c -
7279
73- wget --no-hsts -qO "${ARM_GNU_TOOLCHAIN_TAR}" "${ARM_GNU_TOOLCHAIN_URL} "
74- echo "${ARM_GNU_TOOLCHAIN_SHA256} ${ARM_GNU_TOOLCHAIN_TAR}" | sha256sum -c -
80+ tar xJf "${ARM_GNU_TOOLCHAIN_TAR}" --exclude= "*arm-none-eabi-gdb*" --exclude= "share "
81+ fi
7582
7683 minisign -P "${CCACHE_MINISIGN_PUBKEY}" -Vm /dl/ccache.tar.xz
7784
78- tar xJf "${ARM_GNU_TOOLCHAIN_TAR}" --exclude="*arm-none-eabi-gdb*" --exclude="share"
7985 tar xJf /dl/ccache.tar.xz --strip-components=1 "ccache-${CCACHE_VERSION}-linux-$(uname -m)-glibc/ccache"
8086 tar xzf /dl/xwin.tar.gz --strip-components=1 "xwin-${XWIN_VERSION}-$(uname -m)-unknown-linux-musl/xwin"
8187 cp /dl/llvm.gpg.key /llvm.gpg.key
@@ -88,6 +94,7 @@ FROM ${BASE_IMAGE}
8894ARG CLANG_VERSION=22
8995ARG CPM_VERSION=0.42.1
9096ARG INCLUDE_WHAT_YOU_USE_VERSION=0.26
97+ ARG BUILD_EMBEDDED_FLAVOR
9198
9299ARG DEBIAN_FRONTEND=noninteractive
93100
@@ -138,8 +145,10 @@ RUN --mount=type=bind,source=.devcontainer/cpp/apt-requirements-base.json,target
138145 apt-get update && jq -r 'to_entries | .[] | .key + "=" + .value' /tmp/apt-requirements-clang.json | \
139146 xargs apt-get install -y --no-install-recommends
140147
141- # Install arm-gcc toolchain
142- cp -a /src/arm-gnu-toolchain-*-arm-none-eabi /opt/gcc-arm-none-eabi
148+ if [[ "${BUILD_EMBEDDED_FLAVOR}" == "true" ]]; then
149+ # Install arm-gcc toolchain
150+ cp -a /src/arm-gnu-toolchain-*-arm-none-eabi /opt/gcc-arm-none-eabi
151+ fi
143152EOF
144153
145154# Install include-what-you-use (iwyu) from source
0 commit comments