Skip to content

Commit 7cf6779

Browse files
Fixing arm-none-eabi alternatives (#52)
I flubbed setting up the arm-none-eabi alternatives. this fixes that.
1 parent a7164e8 commit 7cf6779

File tree

4 files changed

+36
-19
lines changed

4 files changed

+36
-19
lines changed

README.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,11 @@ like [libcanard](https://github.com/OpenCyphal/libcanard) and
2525

2626
| tag | Python | GCC (native) | GCC (arm-none-eabi) | Clang (native) | Cmake | Host Platforms | Other Utilities |
2727
|----------|--------|--------------|---------------------|----------------|-------|----------------|-----------------|
28-
| [ts22.4.9](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | 13.3.1 | 18.1.3 | 3.30.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li><li>gcc-multilib (amd64 only)</li></ul> |
28+
| [ts22.4.10](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | 13.3.1 | 18.1.3 | 3.30.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li><li>gcc-multilib (amd64 only)</li></ul> |
2929
| [ts22.4.8](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | (N/A) | 18.1.3 | 3.22.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li><li>gcc-multilib (amd64 only)</li></ul> |
3030
| [ts22.4.7](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | (N/A) | 18.1.3 | 3.22.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li></ul> |
3131
| [ts22.4.6](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.4.0 | (N/A) | 18.0.0 | 3.22.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li></ul> |
3232
| [ts22.4.5](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.4.0 | (N/A) | 18.0.0 | 3.22.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.9.6</li><li>nvm</li><li>node 16.20.0</li><li>nox</li><li>govr</li></ul> |
33-
| [ts22.4.3](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | (N/A) | 15.0.7 | 3.22.1 | <ul><li>linux/amd64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.9.6</li><li>nvm</li><li>node 16.20.0</li><li>nox</li><li>govr</li></ul> |
34-
| [ts22.4.2](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | (N/A) | 15.0.7 | 3.22.1 | <ul><li>linux/amd64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>~~sonar-scanner~~</li><li>doxygen 1.9.6</li><li>nvm</li><li>node 16.20.0</li></ul> |
35-
| [ts22.4.1](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | (N/A) | 15.0.7 | 3.22.1 | <ul><li>linux/amd64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>sonar-scanner</li><li>doxygen 1.9.6</li></ul> |
36-
3733

3834

3935
You can use this in your workflow yaml like this:

toolshed/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ RUN --mount=type=cache,target=/arm-none-eabi-download \
157157
--unpack-dir "/opt"
158158

159159
ADD arm-none-eabi-gcc-select.sh ./arm-none-eabi-gcc-select.sh
160-
RUN ./arm-none-eabi-gcc-select.sh 13.3.1 1 /opt/arm-gnu-toolchain-${ARM_NONE_EABI_VERSION}-${GCC_HOST_VERSION}-arm-none-eabi/bin/
160+
RUN ./arm-none-eabi-gcc-select.sh 1 /opt/arm-gnu-toolchain-${ARM_NONE_EABI_VERSION}-${GCC_HOST_VERSION}-arm-none-eabi/bin/
161161
RUN update-alternatives --display arm-none-eabi-gcc
162162

163163
# LEAVE THE WORKDIR AS /repo
Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,55 @@
11
#!/bin/bash
22

3-
GCC_VERSION=${1}
4-
53
setup_gcc_alternatives()
64
{
7-
local version=${1}
8-
local priority=${2}
9-
local group=${3}
10-
local members=${4}
11-
local path=${5}
5+
local priority=${1}
6+
local group=${2}
7+
local members=${3}
8+
local path=${4}
129
local cmdln
1310

14-
cmdln="--verbose --install /usr/bin/${group} ${group} ${path}${group}-${version} ${priority}"
11+
cmdln="--verbose --install /usr/bin/${group} ${group} ${path}${group} ${priority}"
1512
for member in ${members}; do
16-
cmdln="${cmdln} --slave ${path}${member} ${member} ${path}${member}-${version}"
13+
cmdln="${cmdln} --slave /usr/bin/${member} ${member} ${path}${member}"
1714
done
1815
update-alternatives ${cmdln}
1916
}
2017

21-
GCC_ALTERNATIVES_PRI=${2}
22-
GCC_ALTERNATIVES_PATH=${3}
18+
GCC_ALTERNATIVES_PRI=${1}
19+
GCC_ALTERNATIVES_PATH=${2}
2320

2421
# setup gcc group
2522
GCC_ALTERNATIVES_GROUP_GCC_CONFIG=""
23+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-addr2line"
24+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-ar"
25+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-as"
26+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-c++"
27+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-c++filt"
28+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-cpp"
29+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-elfedit"
2630
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-g++"
2731
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gcc-ar"
2832
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gcc-nm"
2933
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gcc-ranlib"
3034
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gcov"
3135
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gcov-dump"
3236
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gcov-tool"
37+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gdb"
38+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gdb-add-index"
39+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gdb-add-index-py"
40+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gdb-py"
41+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gfortran"
42+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-gprof"
43+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-ld"
44+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-ld.bfd"
45+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-lto-dump"
46+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-nm"
47+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-objcopy"
48+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-objdump"
49+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-ranlib"
50+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-readelf"
51+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-size"
52+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-strings"
53+
GCC_ALTERNATIVES_GROUP_GCC_CONFIG="${GCC_ALTERNATIVES_GROUP_GCC_CONFIG} arm-none-eabi-strip"
3354

34-
setup_gcc_alternatives "${GCC_VERSION}" "${GCC_ALTERNATIVES_PRI}" "arm-none-eabi-gcc" "${GCC_ALTERNATIVES_GROUP_GCC_CONFIG}" "${GCC_ALTERNATIVES_PATH}"
55+
setup_gcc_alternatives "${GCC_ALTERNATIVES_PRI}" "arm-none-eabi-gcc" "${GCC_ALTERNATIVES_GROUP_GCC_CONFIG}" "${GCC_ALTERNATIVES_PATH}"

toolshed/llvm-select.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ LLVM_ALTERNATIVES_GROUP_LLVM_CONFIG="${LLVM_ALTERNATIVES_GROUP_LLVM_CONFIG} llvm
9797

9898
setup_llvm_alternatives "${LLVM_VERSION}" "${LLVM_ALTERNATIVES_PRI}" "llvm-config" "${LLVM_ALTERNATIVES_GROUP_LLVM_CONFIG}" "${LLVM_ALTERNATIVES_PATH}"
9999

100-
# setup clang grioup
100+
# setup clang group
101101
LLVM_ALTERNATIVES_GROUP_CLANG=""
102102
LLVM_ALTERNATIVES_GROUP_CLANG="${LLVM_ALTERNATIVES_GROUP_CLANG} analyze-build"
103103
LLVM_ALTERNATIVES_GROUP_CLANG="${LLVM_ALTERNATIVES_GROUP_CLANG} asan_symbolize"

0 commit comments

Comments
 (0)